Php 如何结交所有朋友';来自Facebook图形API的提要
我在我的facebook应用程序上使用php sdk,并请求所需的扩展权限。 我可以通过api调用从使用我的应用程序的用户处获取所有状态更新Php 如何结交所有朋友';来自Facebook图形API的提要,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,我在我的facebook应用程序上使用php sdk,并请求所需的扩展权限。 我可以通过api调用从使用我的应用程序的用户处获取所有状态更新 $statuses = $facebook->api('/me/statuses?limit=0'); 但是当我对这个用户的朋友使用相同的方法时 $friendStatuses = $facebook->api('/'.$user_id.'/statuses?limit=0'); 我得到了一个空白数组。我试图不使用“?limit=0”,但结果仍然相同 我也
$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”,但是我得到的提要大约是500个条目,但是用户肯定有更多的提要
我的工作目标是收集用户和朋友的状态并对其进行聚类。获取用户朋友提要的正确方法是您使用的最后一个示例:
$friendFeed = $facebook->api("/{$user_id}/feed?limit=0");
如果您获得的是一些提要项,但不是所有预期的提要项,则可能是您没有正确的权限。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查询的更多信息。
您可以阅读有关权限表的更多信息。
您可以阅读有关graph api的用户对象的更多信息
使用此选项,可以更快地计算您的好友数可能相关:我尝试查询read_stream权限并获得“[read_stream]=>1”是否意味着我已经请求了适当的权限。版本说明:从2016年开始(Graph API v2.5),
limit=0
现在将返回0结果,而且read\u stream
权限被read\u posts
替换。我相信原始海报试图做的更多,而不仅仅是数数朋友。FQL已被弃用,因此不要使用FQL。
$num = 0;
$result = $facebook->api( array('method' => 'fql.query', 'query' => 'SELECT uid2 FROM friend WHERE uid1=me()') );
foreach($result as $photo){
$num++;
}