用户登录后,我将使用以下代码检索用户信息:
[_facebook requestWithGraphPath:@"me" andDelegate:self];
它最初工作了几次,但最终返回了一个错误。我以为这是一个会话,因为我的权限具有“ offline_access”。我从Facebook注销并从一个干净的版本再次编译,它仍然返回此错误:
错误域= facebookErrDomain代码= 10000 UserInfo = 0x54a2930“操作无法完成。(facebookErrDomain错误10000。)
我假设我的访问令牌有效,因为我可以进行发布。我猜对了吗?
我还注意到,无论何时登录,Facebook都不会重定向我来询问权限,如果我允许我的应用访问我的用户信息。
谁能告诉我怎么了?
最佳答案
这是我使用的临时修复程序。您可以在FBLoginDialog.m中找到此方法第46行
- (void) dialogDidSucceed:(NSURL*)url {
NSString *q = [url absoluteString];
NSString *token = [self getStringFromUrl:q needle:@"access_token="];
NSDate *expirationDate = [NSDate distantFuture];
if ((token == (NSString *) [NSNull null]) || (token.length ==0)) {
[self dialogDidCancel:url];
[self dismissWithSuccess:NO animated:YES];
} else {
if ([_loginDelegate respondsToSelector:@selector(fbDialogLogin:expirationDate:)]) {
[_loginDelegate fbDialogLogin:token expirationDate:expirationDate];
}
[self dismissWithSuccess:YES animated:YES];
}
}
是否每个遇到此问题的人都请求offline_access权限?这是我看到未发送到期日期的唯一原因。也许尝试不请求offline_access权限。