Facebook 时间线照片相册中缺少照片
我正在使用Facebook Graph API获取用户的所有照片Facebook 时间线照片相册中缺少照片,facebook,api,facebook-graph-api,Facebook,Api,Facebook Graph Api,我正在使用Facebook Graph API获取用户的所有照片graphPath:me/albums,并在Timeline photos album中发现一些奇怪的东西 照片存在于Facebook上的Timeline album中,但未从API调用graphPath/{Timeline\u Photos\u album\u id}/Photos返回,或者返回的照片数量较少 有什么问题 日志: 调用相册graphPath:me/albums: ..... { "can_upload"
graphPath:me/albums
,并在Timeline photos album中发现一些奇怪的东西
照片存在于Facebook上的Timeline album中,但未从API调用graphPath/{Timeline\u Photos\u album\u id}/Photos
返回,或者返回的照片数量较少
有什么问题
日志:
调用相册graphPath:me/albums
:
.....
{
"can_upload" = 0;
count = 3; !!!!!!!!!!!
"created_time" = "2013-06-18T10:43:27+0000";
description = cool;
from = {
id = 100006100533891;
name = "Mike Mike";
};
id = 1387760311437307;
link = "https://www.facebook.com/album.php?
fbid=1387760311437307&id=100006100533891&aid=1073741829";
name = "Timeline Photos";
privacy = everyone;
type = wall;
"updated_time" = "2013-06-18T10:47:53+0000”;
},
.....
调用相册照片graphPath/{timeline\u photos\u album\u id}/photos
:
{
data = (
);
}
最近FB API发生了变化,您是否尝试在API的结果中添加想要返回的字段?在过去,API总是返回“标准字段”,最新的是,您总是必须提供一个字段列表,其中包含您希望返回结果的字段,例如
…fields=name,id…。
我认为您缺少访问令牌中的用户照片
权限。结束点:
/{timeline\u photos\u album\u id}/photos
在我尝试使用Graph API Explorer从我的timeline photos相册中检索照片时,效果非常好。而且,我认为没有必要提供这些字段
我建议你用同样的方法试试。只需按下右上角的获取访问令牌按钮并检查用户照片
权限即可测试您的请求
如果得到的结果较少,可以使用分页选项
limit
和offset
尝试查询。与正常情况相比,这有时会返回更多的结果(在文档中与此无关,只是我的个人经验)。比如:
{timeline_photo_album_id}/photos?limit=500&offset=0
但是,正如您所指出的,API中发生了一些奇怪的事情。看一看。本文将其称为API的预期行为 我尝试了以下方法(具有“用户照片”权限),效果良好:
获取我的用户的相册照片计数:
https://graph.facebook.com/me/albums?fields=id,count&access_token={access_token}
结果是
{
"data": [
{
"id": "{album_id}",
"count": 161,
"created_time": "2010-11-05T15:41:42+0000"
},
....
}
然后查询此相册的照片:
https://graph.facebook.com/{album_id}/photos?fields=id&limit=500&access_token={access_token}
结果是
{
"data": [
{
"id": "{photo_id1}",
"created_time": "2013-12-29T09:59:52+0000"
},
{
"id": "{photo_id2}",
"created_time": "2013-12-17T10:40:26+0000"
},
...
}
我在结果中计算了161个ID的正确数目。看来一切都很顺利
您还可以通过FQL对此进行测试:
https://graph.facebook.com/fql?q=select+pid+from+photo+where+album_object_id+=+{album_id}+limit+1000&access_token={access_token}
很遗憾。您是否检查了每个墙柱的权限和可见性状态?如果其中一些被限制在非常狭窄的组中,它可能不会显示在照片列表中。@SimonBoudrias好主意!我认为许可可能是原因之一!谢谢你的介绍。尝试一下:我认为graphPath/{timeline\u photos\u album\u id}/photos的响应不正确,因为它不是有效的JSON…不正确。我试图检索我的照片,但也遇到了同样的问题。计数返回83,我收到53。它也发生在图形API浏览器中。谢谢你的链接!我已经更新了我的答案。你可以看看。但我想你是对的。Facebook API有时很糟糕。它的行为完全出乎意料。字段与我无关。我只想收到相同数量的照片,正如我/相册请求者在albom计数中所说的那样,你期望得到什么?15张照片15张空记录?如果你不打算给我15张照片,不要说你会看@Tobi的答案,他的方法就是证实我说的。