我正在使用Facebook Graph API v2.0。以下电话
[FBRequestConnection startWithGraphPath:@"/me/picture" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (!error) {
NSLog(@"%@", result);
} else {
NSLog(@"%@", [error userInfo]);
}
}];
导致此错误:
{
NSLocalizedDescription = "Response is a non-text MIME type; endpoints that return images and other binary data should be fetched using NSURLRequest and NSURLConnection";
"com.facebook.sdk:ErrorSessionKey" = "<FBSession: 0x10f036250, state: FBSessionStateOpen, loginHandler: 0x100073a40, appID: 863523550341327, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x10f0339c0>, expirationDate: 4001-01-01 00:00:00 +0000, refreshDate: 2014-07-27 17:20:14 +0000, attemptedRefreshDate: 0001-12-30 00:00:00 +0000, permissions:(\n installed,\n \"public_profile\",\n email,\n \"user_birthday\",\n \"user_location\",\n \"user_friends\"\n)>";
"com.facebook.sdk:HTTPStatusCode" = 0;
}
有谁知道为什么会这样?我真正需要的只是一个回复,其中包含我个人资料图片的网址。在2012年及之前,我们提出了类似的问题,但自那时起API已发生变化。请不要将此标记为重复,除非您确实确定您重定向到我的问题有一个有效的解决方案。我尝试过其他一些替代方法,例如自己启动连接并使用图形路径,例如“/ me?fields = picture”,但它们都会导致相同的错误。
答案 0 :(得分:1)
似乎我原来的电话要求提供图片。要获得基于文本的响应,该响应为个人资料照片提供了网址,以下内容对我有用:
[FBRequestConnection startWithGraphPath:@"me?fields=picture.height(500),picture.width(500)"completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
if (error) {
}
}];
答案 1 :(得分:1)
答案 2 :(得分:0)
借助此网址模板加载资料图片
NSString *imgUrl = [NSString stringWithFormat:@"http://graph.facebook.com/%@/picture", user.id];