在iOS6中获取用户个人资料照片?

我试过这个:

meurl = [NSURL URLWithString:@"https://graph.facebook.com/me/picture"]; SLRequest *imageReq =[SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodGET URL:meurl parameters:nil]; imageReq.account = self.facebookAccount; [imageReq performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) { if (error) { NSLog(@"error -%@", [error debugDescription]); }else{ NSString *meDataString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; NSLog(@"image -%@", meDataString); } }]; 

但我得到image - (nil)

我有一个用户信息的代码上面的其他请求,我得到的所有数据就好了。

@shannoga – 你几乎走在正确的道路上。 而不是你的要求,你必须使用Facebook的用户名。 首先让这个请求获取用户的详细信息 – https://graph.facebook.com/me 。 然后从这个请求中,从jsonparsing的响应数据中获取处理程序中的用户标识。 使用这个用户ID,做这个请求 – https://graph.facebook.com/userid/picture 。 在回复中,您将获得回复数据,这是您的个人资料图片数据。

你可以让你的照片使用

https://graph.facebook.com/XXXXXX/picture

其中XXXXXX是你的FB上的ID。

为了得到你的ID你可以使用:

https://graph.facebook.com/me

图片在你的responseDatavariables中

你可以使用这个:

 NSLog(@"image -%@", responseData); 

查看图像的hex值