我正在使用适用于iPhone的Facebook SDK。我需要能够在一个请求中检索经过身份验证的用户详细信息和个人资料图片。
在SDK的测试版中我曾经可以使用下面的代码执行此操作,但它现在只返回用户ID和图片网址。
[FBRequestConnection startWithGraphPath:@"me" parameters:[NSDictionary dictionaryWithObject:@"picture" forKey:@"fields"] HTTPMethod:@"GET" completionHandler:^(FBRequestConnection *connection, id result, NSError *error)...
有没有办法在一个请求中执行此操作?非常感谢任何建议。
[编辑]我也应该提一下,我需要直接映射到图像的URL字符串,因为我没有使用Facebook的新FBProfilePictureView类。
答案 0 :(得分:7)
脑屁!我应该在参数字典中包含我想要返回的所有属性。我得到了Facebook的文档的印象,你只需要包含图片属性,如果你想用它返回用户信息。正确的请求如下:
[FBRequestConnection startWithGraphPath:@"me"
parameters:[NSDictionary dictionaryWithObject:@"picture,id,birthday,email,first_name,last_name,gender,username" forKey:@"fields"]
HTTPMethod:@"GET"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
}];
答案 1 :(得分:0)
这是一个更新的解决方案。
var basicUserData = ["fields": "picture,id,birthday,email,first_name,last_name,gender"]
FBRequestConnection.startWithGraphPath("/me",
parameters: basicUserData,
HTTPMethod: "GET") {
(connection:FBRequestConnection!, result, error) -> Void in
if error != nil {
print(error!)
} else {
print(result!)
}
}
Parse团队建议通过访问https://graph.facebook.com/(facebookId)/picture?type=large获取FB个人资料图片。确保替换为用户的Facebook ID。 Here is the discussion
注意: