Jac*_*esB 12 facebook facebook-graph-api
有没有办法获取用户当前个人资料图片的图片ID?
编辑:好的,似乎没有琐碎的方式来获取ID!
但是,从随机测试中可以看出,每个用户都有一个带有属性的专辑type="profile"
,并且此专辑中的第一个图像始终是个人资料图片,因此可以通过这种方式获取个人资料图片的ID.对Facebook更有经验的人可以证实确实总是这样吗?
小智 18
您可以从以下网址获取用户公开个人资料照片:
https://graph.facebook.com/[id]/picture
参考:http: //developers.facebook.com/docs/reference/api/
答案似乎是肯定的
例如,相册中的照片具有ID(虽然配置文件照片是不同的对象,但是不同的FB ID).每个对象的ID是FB新图API的核心概念:社交图中的每个对象都有一个 唯一的ID.
实际上,我通过FB Graph API进行的数据请求返回(成功时)JSON数组形式的响应,由嵌套的ID-Value对组成,例如来自User对象的教育字段:
"education": [
{
"school": {
"id": "126533127390327",
"name": "Massachusetts Institute of Technology"
},
"year": {
"id": "140829239279495",
"name": "1992"
},
"concentration": [
{
"id": "192578844099494",
"name": "Computer Science"
}
],
"type": "College"
}
Run Code Online (Sandbox Code Playgroud)
所述简档照片是一个连接所述的用户对象(即,每一个FB对象具有字段和连接).
根据相关FB Developer Page中的表格,调用Graph API请求图片(用户的个人资料照片)会返回一个字符串,该字符串是用户个人资料图片的URL.
但为什么同一个呼叫不会返回用户的个人资料照片ID?
我想的原因是URL返回:
Graph API : User Properties
Run Code Online (Sandbox Code Playgroud)
用户的个人资料照片不存在,但在相邻节点中:
Graph API : User : Connections : picture
Run Code Online (Sandbox Code Playgroud)
(请参阅此处的图形API结构的FB文档).
进行API调用时,请检查请求标头,特别是请求URL ; 当你这样做时,你会看到这样的事情:
http://profile.ak.fbcdn.net/hprofile-ak-snc4/32093_100005743929541_5467982_q.jpg
Run Code Online (Sandbox Code Playgroud)
下划线之间的字符串(100005743929541)是用户ID.通过再次调用Graph API可以轻松验证这一点.从您的浏览器位置栏(假设您已登录Facebook),只需输入:
https://graph.facebook.com/me
Run Code Online (Sandbox Code Playgroud)
同样,该JSON字符串中的第一项是用户的FB ID.鉴于此,在我看来,如果用户配置文件ID确实有自己的ID,那么该字符串(用户的FB ID)加上ID两端的两个较小的相邻整数字符串应该是它 - 换句话说,上面的请求URL中的32093_100005743929541_5467982.
最后,也许最好的方法是使用新的Graph API Explorer.(我只是试图验证这一点,但我的要求是悬而未决.)
归档时间: |
|
查看次数: |
41190 次 |
最近记录: |