0

我想检查我的 facebook 应用程序的用户消息,如果有人收到新消息,请调用一个函数或在我的服务器中执行类似的操作。我使用 PHP Facebook SDK,下面的代码获取用户的所有消息并打印出来。

$user_profile = $facebook->api('/USER_ID?fields=inbox','GET');
print_r($user_profile);

但是我想检查我的一个 fb 应用程序的用户是否在 facebook 上收到一条新消息并获取哪个用户收到了一条消息?是否可以?

4

1 回答 1

1

不幸的是,没有。这样的事情通常可以通过Realtime Updates来完成,您可以在其中订阅 User 对象的某些字段(例如“likes”、“events”等),并且当其中一项发生更改时,您将收到来自 FB 的回调。但是,并非所有字段都可供订阅,似乎inbox就是其中之一。

您可以通过developers.facebook.com 中的交互式向导探索您的实时订阅选项: https ://developers.facebook.com/apps/_INSERT_APP_ID_HERE_/realtime?ref=nav

看起来您唯一的选择是跟踪最后一个线程中最后一条消息的 ID,并继续轮询图表的用户/收件箱端点,直到您看到新的东西。这不是一个好方法,但你别无选择。

于 2013-05-08T23:25:44.563 回答