私はXMPPHPを使用して、自分のアプリケーションユーザのGmailアカウントのリストを取得しています。
XMPPHPは、ロスタの連絡先のオンラインステータスも通知できますか?
私はそれを行う方法を見つけることができないようです...オンラインステータスのXMPPHP名簿
歓声。
私はXMPPHPを使用して、自分のアプリケーションユーザのGmailアカウントのリストを取得しています。
XMPPHPは、ロスタの連絡先のオンラインステータスも通知できますか?
私はそれを行う方法を見つけることができないようです...オンラインステータスのXMPPHP名簿
歓声。
私はGoogleトークでそれを試していないが、一般的にあなたがここ
$roster->getPresence($jid)['status']
$uStatus = $conn->roster->getPresence($jid);
echo "Online status: " . $uStatus['show']; // tells whether available or unavailable or dnd
echo "Status message: " . $uStatus['status']; // shows the user's status message
を探しているのは、名簿リストとGmailユーザーのオンラインプレゼンスの一例です。
$user_name = 'ENTER_EMAIL_ID';
$password = 'ENTER_PASSWORD';
$end_loop = 0;
$conn = new XMPPHP_XMPP('talk.google.com', 5222, $user_name,$password, "xmpphp", 'gmail.com', $printlog=false, $loglevel=XMPPHP_Log::LEVEL_INFO);
$conn->autoSubscribe();
try {
$conn->connect();
while($end_loop <=0) {
$payloads = $conn->processUntil(array('end_stream', 'session_start','roster_received'));
foreach($payloads as $event) {
$pl = $event[1];
switch($event[0]) {
case 'session_start':
$conn->getRoster();
$conn->presence('I m presence'.time());
break;
case 'roster_received':
$array_contact=$pl;
foreach($array_contact as $user => $friends_name){
echo "<li>".$user.'_NAME_'.$friends_name['name'].'</li>';
}
$end_loop++;
break;
}
}
}
while(1)
{
$payloads = $conn->processUntil(array('presence'));
echo "<li>".$payloads[0][1]['from']."_Show_". $payloads[0][1]['show']."</li>";
$_SESSION[$payloads[0][1]['from']] = "~~";
}
$conn->disconnect();
} catch(XMPPHP_Exception $e) {
die($e->getMessage());
}
processUntil( 'roster_received')は 'roster_received'をトリガーすることはありませんでした。 – lwitzel
私はここに同様の質問への答えを投稿:
は、それが動作するように得るためにキーがありますサーバーに送信するだけでなく、各連絡先のステータスを収集し、あなたの名簿に値を設定します。実際は$ conn-> getRoster()と同じことをしますが、各連絡先のプレゼンス情報も収集します。
もう1つの鍵は冗長なログを有効にすることでした。あなたの出力は(私の場合は、ブラウザウィンドウ)であるものは何でもに
$conn = new XMPPHP_XMPP('talk.google.com', 5222, $user_name,$password, "xmpphp", 'gmail.com', $printlog=true, $loglevel=XMPPHP_Log::LEVEL_VERBOSE);
この意志出力詳細なログ:あなたはあなたの最初のオブジェクトの建設であることを行います。
が空になっているようです(存在アレイ全体がかなり空です) – Omer