2016-08-08 67 views
0

因此,我得到了一个网站,让用户登录到应用程序,他/她将能够访问所有他们的照片在我的网页中并编辑它们。如何使用Facebook API获取基于Facebook图像ID的图像源(url),使用JS的Facebook 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标记中。但我仍然有问题。

我看到,那就是从这个网址得到一个“JSON”这样做的一些方法:

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

但是,扔下我一个认证错误,例如,如果我试图让使用AJAX它(威力是因为阿贾克斯不包含FB对象所做的验证)

我该如何获得该结果?

在此先感谢。

+0

您需要询问所需的字段,请参阅http://stackoverflow.com/a/32585470/1427878 – CBroe

+0

但我想获取特定照片ID的网址,看起来像它会返回我已经有...如果我为用户领域照片user_photos,它会返回所有的照片ID,对不对? – msqar

+0

_“如果我为用户输入字段”_ - - 什么?您真正需要的是什么信息 - Facebook上照片的URL,以便用户可以在那里查看? Facebook的CDN图像的URL,以便您可以在您的网站的'img'元素中使用它?要么 …? – CBroe

回答

0

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

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

通过发送场“图像”,这将返回所有不同尺寸的特定图像的绝对路径。

如果你想要一个100x100px的缩略图,你可以传递“图片”作为字段。