我在iOS应用程序中使用Facebook Friend Picker。当我选择一个朋友时,我只会获得一个App Scoped ID,但我需要Facebook ID来获取该朋友的个人资料图片和名称。
是否可以将App Scoped ID转换为正常的Facebook ID或使用App Scoped ID检索该数据?
我读了很多关于https://developers.facebook.com/docs/apps/upgrading#upgrading_v2_0_user_ids的内容,但无法找到解决方案。
更新
我正试图获取这样的个人资料图片(之前使用普通的Facebook ID工作):
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large&access_token={access_token}|{secret}", item.giftID]];
NSData *tempData = [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:url] returningResponse:nil error:nil];
然后我会将tempData
放在UIImageView
这样:
UIImageView *profilePic = (UIImageView *)[myCell viewWithTag:1];
profilePic.image = [UIImage imageWithData:tempData];
但这似乎不适用于新的API调用,有关如何修复它的任何想法?
答案 0 :(得分:3)
我找到了另一种使用Scoped App ID检索配置文件图片的方法,毕竟这很简单。
http://graph.facebook.com/ScopedAddID/picture?type=normal
此代码完成了这项工作。
答案 1 :(得分:0)
您可以在API通话中使用您的应用ID和密码来获取用户的姓名或图片:
https://graph.facebook.com/{app_scoped_id}?fields=name,picture&access_token={app_id}|{app_secret}
这将为您提供用户所需的详细信息,例如:
{
"name": "Niraj Shah",
"picture": {
"data": {
"is_silhouette": false,
"url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xap1/v/t1.0-1/c58.40.500.500/s50x50/18400_10100210273961696_245749691_n.jpg?oh=42982af99b925b1167e52f82eb8316c3&oe=5485298D&__gda__=1418016600_1e8a22c1ac6366f6dbad85990c817e65"
}
},
"id": "10100392436431646"
}