我可以以某種方式獲得比picture.data.url中的一個API返回更大的圖像嗎?Facebook可邀朋友
針對應用內的朋友我有用戶標識符,我可以使用像以下但Inviteable朋友令牌返回,而不是用戶名:
http://graph.facebook.com/{0}/picture?width={1}&height={2}
我可以以某種方式獲得比picture.data.url中的一個API返回更大的圖像嗎?Facebook可邀朋友
針對應用內的朋友我有用戶標識符,我可以使用像以下但Inviteable朋友令牌返回,而不是用戶名:
http://graph.facebook.com/{0}/picture?width={1}&height={2}
當您調用Invitable friends API時,可以使用類型或自己的寬度和高度來縮放附帶的圖片。
對於預先定義的類型:
/me/invitable_friends?fields=picture.type(large)
爲了你自己的寬度和高度:
/me/invitable_friends?fields=picture.width(150).height(150)
您可以修改invitable_friends的picture.data.url訪問質量更高圖像(可能是原始圖像或至少與最初上傳的圖像相同的尺寸)。
例子:
域和文件名之間刪除一切,即: https://fbcdn-profile-a.akamaihd.net/482877_10151573704436719_2137579306_n.jpg
一個很簡單的JavaScript函數將解析的網址:
function GetFullImage(url){
var filename = url.replace(/^.*[\\\/]/, '');
return url.substring(0, url.indexOf("/",8)+1) + filename;
}
GetOriginalImage(friend.picture.data.url);
而且,您可以修改50x50部件以提供更大尺寸的尺寸,但這不是gu ranteed解決方案,因爲:
1)較大尺寸可能無法使用(用戶可能已經上傳的小圖像)
2)裁剪信息(在上述的例子c62.62.780.780)可以只顯示圖像正確在50x50。 我敢肯定,可能有足夠簡單的解決方案來獲得您想要的尺寸,但恐怕我還沒有把所需的時間放到這裏。無論如何希望以上幫助。
您可以修改invitable_friends的picture.data.url以使用您自己的尺寸訪問更高質量的圖像。在這種Objective-C的例子中,我們使用高度= 120,重量= 120
#define IMAGE_PATTERN @"s120x120"
NSString *url_ = @"https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpa1/v/t1.0-1/p50x50/1477386_637922472919990_2075386170_n.jpg?oh=afaeeb2448654c3ae05fb87d1a23b504&oe=54F2E920&__gda__=1424976270_d2b5b60376149424116b38783b0ddde0";
NSURL *url = [NSURL URLWithString:url_];
NSString *newUrl = [NSString stringWithFormat:@"%@://%@/%@/%@",
url.scheme,
url.host,
IMAGE_PATTERN,
url.pathComponents.lastObject];
NSLog(@"newUrl: %@", newUrl);
也許這個例子可以幫助:
FB.api('/me/invitable_friends?fields=picture.type(large)', function (response) {
// picture url will be in the response
}
的圖像類型是在這個網址
https://developers.facebook.com/docs/graph-api/reference/v2.2/user/picture