实时更新后获取数据

5
我有一个应用程序,可以访问用户的动态。我已经按照这个教程设置了应用程序的实时更新: http://developers.facebook.com/docs/reference/api/realtime/ 基本上,当用户在他们的动态中发布一条动态时,我成功地从Facebook接收到了信息,并且可以通过我的回调链接访问这些信息。这些信息看起来像这样:
{"object":"user","entry":[{"uid":"629498222","id":"629498222","time":1361371026,"changed_fields":["feed"]}]}

我的麻烦从这里开始。我阅读的每个实时更新教程都在同一个地方结束,却没有真正解释如何获取更新的实际数据。
因此,我正在尝试各种方法,特别是以下代码片段,以获取用户的动态,以便我可以访问最新的帖子。这是我的回调PHP文件中的代码:
 $app_token_url = 'https://graph.facebook.com/oauth/access_token?client_id='
               .$app_id.'&client_secret='.$app_secret
               .'&grant_type=client_credentials';
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $app_token_url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 $res = curl_exec($ch);
 parse_str($res, $token);

 if (isset($token['access_token'])) {
  curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/629498222/feed'
                              .'?access_token='
                              .$token['access_token']);
   $res = curl_exec($ch);
   if ($res && $res != 'null') {
     print_r($res);
   }
}

结果不如预期。我可以获取该用户的公共帖子,但如果它们不是公开的,我就无法获取该用户的所有帖子,尽管应用程序可以访问用户流。有什么想法吗?

非常感谢任何帮助。我真的需要一种方法来通过获取发布更新的用户的实际数据完成实时更新。


你没有扩展用户访问令牌吗? - Anvesh Saxena
1个回答

0
实时服务的主要目的是让应用程序知道它们正在缓存的数据何时过期并需要刷新。它不是设计成一个“内容订阅”服务。
因此,当您收到通知时,预计您会为更新的信息进行单独的调用(例如,当用户下次登录时)。特别是对于从用户流中读取的情况,可能不会向应用程序令牌授予read_stream权限,尽管我找不到任何明确的文档来确认这一点。我在这个页面底部找到了最接近的“应用访问令牌的其他功能” https://developers.facebook.com/docs/opengraph/howtos/publishing-with-app-token/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接