Facebook API:获取所有个人资料照片

And*_*Hin 24 facebook facebook-graph-api

从给定用户获取所有个人资料照片的最佳方式是什么?我需要什么权限?

我知道我可以使用主要配置文件https://graph.facebook.com/[uid]/picture,但如何获得整张专辑?

Nis*_*ant 55

我如何获得整张专辑?

您需要https://graph.facebook.com/[uid]/albums?access_token=[AUTH_TOKEN]获取用户所有相册的JSON数组.

你将从这里得到三件重要的东西id- 专辑ID,name- 专辑名称和type- 专辑类型.

我需要什么权限?

需要的许可user_photos 在这里看到

从给定用户获取所有个人资料照片的最佳方式是什么?

个人资料照片属于"个人资料图片"专辑.要获取个人资料相册,您需要查看相册数组(如前所述),遍历JSON结果集,直到您获得名为= Profile Pictures和type = 的相册profile.得到id这个对象.这是资料图片专辑.

现在您可以访问它,类似于您访问任何其他相册.也就是说,https://graph.facebook.com/[ALBUM_ID]/photos?access_token=[AUTH_TOKEN]这将列出所有用户上传的所有个人资料图片.

希望这可以帮助.

参考:http://developers.facebook.com/docs/reference/api/

  • 依靠`类型`."个人资料图片"专辑AFAIK的名称不可编辑. (2认同)
  • @Nishant,如果有大量的个人资料图片(即100张)你将如何获得它们所有使用`https://graph.facebook.com/ [ALBUM_ID] /照片?=的access_token [AUTH_TOKEN]`?因为它目前在第25张照片后停止 (2认同)

小智 9

您可以传递"limit = 0"以完全避免分页,并且您可以在一次通话中获得所有照片.


Ara*_*yan 5

要获取所有个人资料照片,首先需要获取所有相册的列表,但如果超过24个专辑的数量,您将无法获得其余部分,您可能无法获得个人资料相册.为此,您需要传递limit=0以获取专辑URL.

这是示例代码:

$tokenUrl = "https://graph.facebook.com/oauth/access_token?client_id=$yourAppId&redirect_uri=$yourRedirectUrl 
                &client_secret=$yourAppSecret&code={$_GET["code"]}";

$accessToken = file_get_contents($tokenUrl);

$extAlbumUrl = "https://graph.facebook.com/me/albums?$accessToken&limit=0";

$albums = json_decode(file_get_contents($extAlbumUrl)); 
Run Code Online (Sandbox Code Playgroud)