我现在正在开发一个主要基于facebook graph api的Web应用程序。我保存了一些有关用户的数据-实际上是可能的可用公共数据-例如名称和ID。我也知道个人资料图片是公共数据的一部分,我想知道如何仅通过使用其ID就能直接链接到用户的个人资料图片?
提前致谢
我现在正在开发一个主要基于facebook graph api的Web应用程序。我保存了一些有关用户的数据-实际上是可能的可用公共数据-例如名称和ID。我也知道个人资料图片是公共数据的一部分,我想知道如何仅通过使用其ID就能直接链接到用户的个人资料图片?
提前致谢
Answers:
http://graph.facebook.com/ “ + facebookId +” / picture?type = square例如:http : //graph.facebook.com/67563683055/picture ?type=square
除“正方形”外,还有更多尺寸。请参阅文档。
https://graph.facebook.com/{facebookId}/picture?type=large&width=720&height=720
。
您可以使用以下网址获取不同尺寸的个人资料图像。请确保将Facebook ID添加到网址。
大型照片 https://graph.facebook.com/ {facebookId} / picture?type = large
中型照片 https://graph.facebook.com/ {facebookId} / picture?type = normal
小型照片 https://graph.facebook.com/ {facebookId} / picture?type = small
方形照片 https://graph.facebook.com/ {facebookId} / picture?type = square
获得最大尺寸的图像
https://graph.facebook.com/{userID}?fields=picture.width(720).height(720)
或您需要的其他尺寸。根据经验,type = large并不是您可以获得的最大结果。
这将是有用的链接:
http://graph.facebook.com/893914824028397/picture?type=large&redirect=true&width=500&height=500
您可以根据需要设置高度和宽度
893914824028397是facebookid
这实际上在Graph API文档的首页上。
/OBJECT_ID/picture
返回到对象图片的重定向(在这种情况下为用户)/OBJECT_ID/?fields=picture
返回图片的URL例子:
<img src="https://graph.facebook.com/4/picture"/>
使用HTTP 301重定向到Zuck的个人资料图片
https://graph.facebook.com/4?fields=picture
返回URL本身
在这里,此API可让您轻松获取fb,google和twitter个人资料照片
当为各种社交网络(包括Twitter,Facebook,Instagram和gravatar)提供用户名时,该API会返回个人资料图片。它具有适用于iOS,Android,Ruby,Node,PHP,Python和JavaScript的库。
您可以使用以下网址获取它:您将获得图片高清(最大尺寸)
https://graph.facebook.com/{userID}?fields=picture.width(720).height(720)&redirect=false
不要忘记 redirect = false,否则会返回错误
在img标签的src中使用url作为:https://graph.facebook.com/ user_id / picture?type = square 类型可以小,大。
通过Javascript SDK(v2.12-2017年4月),您可以通过以下方式获取图片请求的详细信息:
FB.api("/" + uid + "/picture?redirect=0", function (response) {
console.log(response);
// prints the following:
//data: {
// height: 50
// is_silhouette: false
// url: "https://lookaside.facebook.com/platform/profilepic/?asid=…&height=50&width=50&ext=…&hash…"
// width: 50
//}
if (response && !response.error) {
// change the src attribute of img elements
[...document.getElementsByClassName('fb-user-img')].forEach(
i => i.src = response.data.url
);
// OR redirect to the URL above
location.assign(response.data.url);
}
});
为了得到JSON响应参数redirect
与0(零)作为值是因为由默认请求重定向到图像重要。您仍然可以在同一URL中添加其他参数。例子:
"/" + uid + "/picture?redirect=0&width=100&height=100"
:将返回100x100的图片;"/" + uid + "/picture?redirect=0&type=large"
:返回200x200的图片。其他可能的类型值包括:small,normal,album和square。只需遵循以下URL
https://graph.facebook.com/facebook_user_id/picture?type=square
类型可以是普通,小,中,大。或正方形(如果要获得正方形图片,则正方形尺寸限制为50x50)。
根据当前最新的Facebook API版本3.2,对于用户,您可以使用以下通用方法获取个人资料图片:https://graph.facebook.com/v3.2/{ user-id}/picture ?type=square您可以在此处访问用户图片的文档。URL中的type参数的可能值可以是small,normal,album,large,square
对于“组和页面”,个人资料图片不直接可用。您必须使用访问令牌来获取它们。对于组,您必须使用用户访问令牌,对于页面,您必须同时使用用户访问令牌和页面访问令牌。
您可以使用通用网址获取群组或专页的个人资料图片:https : //graph.facebook.com/v3.2/{user- id}/ picture?access_token={access-token}&type=square
我希望这对正在寻找“页面”或“群组个人资料”图片的人有所帮助。