我正在使用XMPPHP检索我的应用程序用户GMail帐户的花名册。
XMPPHP还可以告诉我花名册联系人的在线状态吗?
我似乎不知道该怎么做...
干杯。
发布于 2012-07-13 19:06:01
以下是花名册列表和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());
}发布于 2009-08-21 10:48:15
我还没有在Google Talk上尝试过,但通常你会在寻找
$roster->getPresence($jid)['status']发布于 2010-04-13 21:12:20
$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 messagehttps://stackoverflow.com/questions/1311182
复制相似问题