似乎Facebook图形API无法始终提取公共相册的数据,即使您提供了有效的访问令牌,但您可以通过标准的http GET请求查看这些相册facebook.com。
使用以下python代码,我可以从公共相册获取数据" 303027476429477":
>>> r = requests.get('https://graph.facebook.com/303027476429477?access_token=MY_SECRET_ACCESS_TOKEN',headers=headers)
>>> r.text
u'{\n "created_time": "2012-03-11T23:01:28+0000",\n "name": "Kid Gaga",\n "id": "303027476429477"\n}'
然而,对于另一张公开专辑" 377622310155",我不能:
>>> r = requests.get('https://graph.facebook.com/377622310155?access_token=MY_SECRET_ACCESS_TOKEN',headers=headers)
>>> r.text
u'{\n "error": {\n "message": "Unsupported get request. Object with ID \'377622310155\' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",\n "type": "GraphMethodException",\n "code": 100,\n "fbtrace_id": "HK87oTbeTs0"\n }\n}'
这似乎是一个权限问题,因为如果只是在浏览器中访问 http://facebook.com/377622310155 ,他们就会看到相册确实存在(并且他们不需要进行任何身份验证来查看它要么)。
所以我的问题是 - 我做错了什么,因为我想做的就是知道是否存在一个专栏,我应该抓一下facebook.com的http响应吗?