facebook oauth,没有基本权限的图片

Jos*_*kin 21 facebook oauth

我正在使用oauth将facebook用户登录到我的应用程序.我正在使用我的FB帐户和基本权限范围进行测试.Facebook文档说我应该能够获得具有基本权限的"图片",但是当我使用API​​访问它时,我的帐户没有"图片"属性.虽然有名字,姓氏等.

这是因为我的帐户无法公开查看吗?为什么会这样?我绝对有附图.

这是我的fb链接:http: //www.facebook.com/josh.nankin

mad*_*ode 20

最好的方法是保持基本权限并在单独的步骤中触发对图像的请求.以这种方式询问图api:

https://graph.facebook.com/[fb_user_id]?fields=picture.type(small)
Run Code Online (Sandbox Code Playgroud)

放大图像:

https://graph.facebook.com/[fb_user_id]?fields=picture.type(large)
Run Code Online (Sandbox Code Playgroud)

你会得到一个JSON响应,如:

{
   "id": "100001XXXXXXXXX",
   "picture": {
      "data": {
         "url": "http://profile.ak.fbcdn.net/hprofile-XXXX/41524_1000018XXX51507_XXXX3_q.jpg",
         "is_silhouette": false
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

  • 似乎不再起作用:https://graph.facebook.com/914431778578699?fields=picture.type(large) 返回错误:“请求此资源需要访问令牌” (2认同)

Dar*_*eye 8

您可以直接从Facebook返回的基本标准OAuth信息中获取个人资料照片网址,Josh Nankin指出,但澄清一下.

您仍然可以使用返回的用户ID来请求照片,例如:

https://graph.facebook.com/914431778578699/picture?type=large

是相同的

https://graph.facebook.com/dark.eye.1/picture?type=large

这样只需要进行一次请求,因为您可以在将照片URL存储到数据库中时对其进行插值.


Jos*_*kin 6

因此,仍然不确定为什么图形 API 在您点击 API 上的 /me 路径时不返回图片属性,但是一旦您从 /me 获得用户名,您就可以很容易地在以下位置获取图片:

https://graph.facebook.com/USERNAME/picture

  • 要获得更大的尺寸,您还可以使用:https://graph.facebook.com/USERNAME/picture?type=large (4认同)
  • 您也可以使用用户 ID 号代替用户名 (2认同)

CBr*_*roe 5

https://developers.facebook.com/docs/reference/api/user/:

"picture:用户个人资料照片的网址(仅当您明确指定'fields = picture'param时才会返回)"

你可能不会忽略粗体标记的部分......?