Tôi đang cố gắng lấy địa chỉ email từ người dùng. Anh ấy đăng nhập, tôi yêu cầu quyền truy cập email và anh ấy chọn ok. Sau đó, tôi sử dụng API biểu đồ từ facebook để truy cập địa chỉ email.Không thể nhận địa chỉ email bằng cách sử dụng facebook sdk cho IOS và đồ thị api cho facebook
- (void) fbDidLogin
{
btnLogin.isLoggedIn = TRUE;
[btnLogin updateImage];
NSString *theURL =
[ [NSString stringWithFormat:
@"https://graph.facebook.com/me?access_token=%@", facebook.accessToken
]stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding
];
NSLog(@"%@", theURL);
[facebook requestWithGraphPath: theURL andDelegate: self];
}
...
- (void)request:(FBRequest*)request didLoadRawResponse:(NSData*)data
{
NSString *response = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
NSLog(@"%@", response);
[response release];
}
Đây là cách tôi nhận được thông tin:
- (void) request:(FBRequest*)request didLoad:(id)result
{
if ([result isKindOfClass:[NSDictionary class]])
{
NSString *email = [result objectForKey: @"email"];
NSString *name = [result objectForKey: @"name"];
NSString *facebookId = [result objectForKey: @"id"];
//...
}
}
Nó mang lại cho tôi chỉ chuỗi này: { id = "https://graph.facebook.com/me"; }
Tôi đã làm gì sai?
@kudor: sau khi gọi requestWithGraphPath: @ "tôi", làm thế nào Chính xác thì bạn trích xuất các thông tin cần thiết như email trong trường hợp của bạn? Tôi cần tên người dùng. – WaJiyaz
Tôi sẽ đặt mã trong câu hỏi của mình! Bạn nhận được một 'NSDictionary' và bạn phải có được các giá trị từ nó. –
hi, tôi đã dùng thử nhưng phản hồi nhận được là "OAuthException": "Mã thông báo truy cập hoạt động phải được sử dụng để truy vấn thông tin về người dùng hiện tại" vì vậy tôi đoán, nó không đạt yêu cầu didLoad. – WaJiyaz