用户登录后,我将使用以下代码检索用户信息:

[_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权限。

10-06 02:55