php – 如何从Facebook Graph API获取所有朋友的提要

我在我的Facebook应用程序上使用PHP sdk并要求获得所需的扩展许可.
我可以从api调用中使用我的应用程序的用户更新所有状态
$statuses = $facebook->api('/me/statuses?limit=0');

但是当我和这个用户的朋友使用相同的方法时.

$friendStatuses = $facebook->api('/'.$user_id.'/statuses?limit=0');

我有一个空白阵列.我试图不使用“?limit = 0”,但结果仍然相同.

我也试过用

$friendFeed = $facebook->api('/'.$user_id.'/Feed?limit=0');

并从该用户获得了一些提要,但并非全部.即使我将“?limit = 0”更改为“limit = 1000”,但我获得的Feed大约是500项,但该用户Feed比肯定更多.

我的工作是收集用户和朋友的状态并将其聚类.

获取用户朋友的Feed的正确方法是您使用的最后一个示例:
$friendFeed = $facebook->api("/{$user_id}/Feed?limit=0");

如果您要获得某些Feed项目,但不是所有您想要的项目,那么您可能没有正确的权限. read_stream权限可以查看非公开帖子,因此,请仔细检查您是否拥有read_stream权限.您可以通过运行FQL查询来检查:

SELECT read_stream FROM permissions WHERE uid = me()

我不是100%确定你将如何使用你正在使用的SDK,但它可能是:

$readStream = $facebook->api("/method/fql.query?query=SELECT+read_stream+FROM+permissions+WHERE+uid+=+me()");

祝好运!

您可以阅读有关运行FQL查询here的更多信息.
您可以阅读有关权限表here的更多信息.
您可以阅读有关图api的用户对象here的更多信息.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...