我在我的脸书应用程序上使用php sdk并要求获得所需的扩展许可。 我可以从api call
中使用我的应用程序的用户更新所有状态$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');
并从该用户获得了一些Feed但不是全部。即使我将“?limit = 0”更改为“limit = 1000”,但我获得的Feed大约是500件,但该用户的Feed比肯定的多。
我的工作目标是收集用户和朋友的状态并将其聚类。
答案 0 :(得分:4)
获取用户朋友的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的更多信息。
答案 1 :(得分:0)
$num = 0;
$result = $facebook->api( array('method' => 'fql.query', 'query' => 'SELECT uid2 FROM friend WHERE uid1=me()') );
foreach($result as $photo){
$num++;
}
使用此功能,计算好友的速度更快