16

XMPPHPを使用して自分のオンライン ステータスを取得しようとしていますが、$conn. ここに私のコードのスニペットがあります:

require_once('XMPPHP/XMPP.php');

$conn = new XMPPHP_XMPP('talk.google.com', 5222, 'xxxx@gmail.com', 'xxxxx', 'xmpphp', 'gmail.com', $printlog = false, $loglevel = XMPPHP_Log::LEVEL_INFO);

$conn->connect();
$conn->processUntil('session_start');
$conn->presence($status='Controller available.');
var_dump($conn); // this gives me a long output but nothing about status. ex: http://pastebin.com/yfs1V5Jb

友達の情報のリストも見ようとgetRoster()しましたが (自分の情報だけに興味があります)、うまくいきませんでした。

これを機能させる方法について何か提案はありますか? ありがとう。

4

2 に答える 2

-1

自分の jid (username@gmail.com) を getPresence(); に渡すことで、自分のプレゼンスをリクエストできるはずです。

例えば:

$status = $conn->roster->getPresence($jid);
var_dump($status);    // Make sure you are retrieving a populated presence array
echo $status['show']; // available,unavailable,dnd
echo $status['status']; //status message

かなり前に、このライブラリが名簿レコードを作成しないという問題に遭遇しました。この問題が発生した場合は、https ://code.google.com/p/xmpphp/issues/detail?id=44&q=empty に記載されているパッチを適用する必要があります。

于 2013-05-07T21:09:34.333 に答える