大家好,
我为比赛制作了一个Facebook应用程序,该应用程序允许用户上传他们的照片。上传后,照片将发布到他们个人资料上的专用相册中。一旦有照片,用户应收集尽可能多的喜欢的照片。
目前,我已经尝试使用Facebook Graph API和Facebook FQL来检索喜欢的数量,但是检索到的喜欢并不总是与用户个人资料上的喜欢匹配。
一些用户声称拥有超过200个喜欢,但到目前为止,该API仅返回了最多101个喜欢。
请所有用户向应用程序授予以下权限:
user_hometown, publish_stream, read_stream, user_photos and offline_access
使用Facebook PHP SDK 3.0.1,我尝试了以下FQL查询来收集照片的喜欢量:
# fql query
$fql = "SELECT object_id FROM like WHERE object_id=" . $photo_id;
# api request
$request = array(
'method' => 'fql.query', 'query' => $fql
);
# run batch request
$likes = $this->facebook->api($request);
# return like count
return count($likes);
我还尝试了以下Graph API请求(也使用Facebook PHP SDK 3.0.1)来收集照片的喜欢数量:
$likes = $this->facebook->api($photo_id.'/likes');
return count($likes['data']);
奇怪的是,似乎都没有返回正确的结果。我可以理解API是否有点不准确,但是根据API,今天早上有些图片收到100张喜欢,而几个小时后收到0张。
有谁知道我可能做错了什么?照片及其相册需要公开吗?喜欢该照片的人是否需要具有公开个人资料才能显示在API中?我是否需要其他权限?
任何帮助或建议,将不胜感激!
最佳答案
只是在这里有同样的问题。默认情况下,赞数似乎被数百个分页。通过使用“LIMIT”查询选项来覆盖此设置。
关于facebook-graph-api - Facebook Graph API和FQL之类的依靠照片都不正确吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7808391/