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

时间:2013-01-29 12:34:51

标签: ios facebook 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)

我在该代码上方还有另一个用户信息请求,我得到的所有数据都很好。

3 个答案:

答案 0 :(得分:2)

您可以使用

为您拍照

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

其中XXXXXX是您在FB上的ID。

要获取您的身份证明,您可以使用:

https://graph.facebook.com/me

答案 1 :(得分:2)

@shannoga - 你几乎走在正确的道路上。在您的请求中,您必须使用Facebook用户ID,而不是我。首先,请求获取用户详细信息 - https://graph.facebook.com/me。然后从该请求中,从json解析的响应数据中获取处理程序中的用户标识。使用此用户ID,发出此请求 - https://graph.facebook.com/userid/picture。 在响应中,您将获得响应数据,即您的个人资料图像数据。

答案 2 :(得分:0)

图片在你的responseData变量

你可以用这个:

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

查看图像十六进制值