如何使用Facebook API for JS获取基于facebook image id的图像源(url)

时间:2016-08-08 20:13:51

标签: javascript facebook facebook-graph-api

所以我有了一个网站,我让用户登录到应用程序,他/她可以访问我页面中的所有照片并进行编辑。

我获得专辑的方式是:

FB.api(
  "/me/albums",
     function (response) {
        if (response && !response.error) {
          ...
        }
     }
);

然后在获取相册ID列表后,我会通过以下方式迭代它们来获取各自的照片:

FB.api(
  "/"+albumId+"/photos",
     function (response) {
        if (response && !response.error) {
          ...
        }
     }
);

这将返回包含图像ID的对象数组。

我以为会使用FB.api("/imageId", function(){}),但会返回带有id的相同图片对象。

我想获取图像源/完整路径,以便将其添加到HTML IMG标记内。但我仍然遇到问题。

我看到有一些方法可以通过从这个URL获取“JSON”来实现:

http://graph.facebook.com/"+photoId

但是,如果我尝试使用AJAX来获取它,那会引发一个身份验证错误(可能是因为ajax不包含FB对象所执行的身份验证)

我怎样才能得到这个结果?

提前致谢。

1 个答案:

答案 0 :(得分:0)

所以在从@CBroe获得一些文档链接后,我发现这样做

FB.api(
    "/"+photoId, {"fields" : "images"},
    function (response) {
         if (response && !response.error) {
             console.log(response)
         }
    }
);

通过发送“图像”字段,它将返回到该特定图像的不同大小的所有绝对路径。

如果您想要100x100px缩略图,可以将“图片”作为字段传递。