如何从Facebook Graph API获取所有朋友的Feed

nao*_*kun 8 php facebook facebook-graph-api

我在我的Facebook应用程序上使用php sdk并要求获得所需的扩展权限.我可以从api调用中使用我的应用程序的用户更新所有状态

$statuses = $facebook->api('/me/statuses?limit=0');
Run Code Online (Sandbox Code Playgroud)

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

$friendStatuses = $facebook->api('/'.$user_id.'/statuses?limit=0');
Run Code Online (Sandbox Code Playgroud)

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

我也试过用

$friendFeed = $facebook->api('/'.$user_id.'/feed?limit=0');
Run Code Online (Sandbox Code Playgroud)

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

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

mic*_*day 4

获取用户朋友的提要的正确方法是您使用的最后一个示例:

$friendFeed = $facebook->api("/{$user_id}/feed?limit=0");
Run Code Online (Sandbox Code Playgroud)

如果您获得了部分提要项目,但不是所有您期望的项目,则可能您没有正确的权限。read_stream 权限可查看非公开帖子,因此,请尝试仔细检查您是否具有 read_stream 权限。您可以通过运行 FQL 查询进行检查:

SELECT read_stream FROM permissions WHERE uid = me()
Run Code Online (Sandbox Code Playgroud)

我不是 100% 确定您将如何使用您正在使用的 SDK 来做到这一点,但可能是:

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

祝你好运!


您可以在此处阅读有关运行 FQL 查询的更多信息。您可以在此处
阅读有关权限表的更多信息。您可以在此处 阅读有关图 api 的 User 对象的更多信息。