Iphone Facebook身份验证错误-操作无法’;不可能完成

Iphone Facebook身份验证错误-操作无法’;不可能完成,iphone,objective-c,facebook-graph-api,oauth,access-token,Iphone,Objective C,Facebook Graph Api,Oauth,Access Token,在我的游戏中,我有一个选项,用户可以在他们的墙上张贴成就。如果他们已登录,即他们的令牌仍处于活动状态,则可以正常工作。但是,如果他们需要续订令牌,应用程序将退出,Facebook身份验证页面将在返回应用程序之前加载一秒钟(如果他们已主动注销,则只需在身份验证页面上单击“确定”,否则会自动发生) 问题是,如果发生这种情况,当游戏返回时,请求将失败。但是由于他们现在已经登录,如果他们第二次按“共享到墙”按钮,效果很好。失败的请求输出的错误消息如下: DIDLOGIN 2012-02-21 1

在我的游戏中,我有一个选项,用户可以在他们的墙上张贴成就。如果他们已登录,即他们的令牌仍处于活动状态,则可以正常工作。但是,如果他们需要续订令牌,应用程序将退出,Facebook身份验证页面将在返回应用程序之前加载一秒钟(如果他们已主动注销,则只需在身份验证页面上单击“确定”,否则会自动发生)

问题是,如果发生这种情况,当游戏返回时,请求将失败。但是由于他们现在已经登录,如果他们第二次按“共享到墙”按钮,效果很好。失败的请求输出的错误消息如下:

    DIDLOGIN
2012-02-21 12:01:33.502[18153:15803] Response received
2012-02-21 12:01:33.502[18153:15803] Request did load raw response
2012-02-21 12:01:33.502[18153:15803] Request failed, error: Error Domain=facebookErrDomain Code=10000 "The operation couldn’t be completed. (facebookErrDomain error 10000.)" UserInfo=0x9992010 {error=<CFBasicHash 0x99785e0 [0x2093b38]>{type = mutable dict, count = 3,
entries =>
    2 : <CFString 0x9963370 [0x2093b38]>{contents = "type"} = <CFString 0x99952a0 [0x2093b38]>{contents = "OAuthException"}
    3 : <CFString 0x99631e0 [0x2093b38]>{contents = "message"} = <CFString 0x997e5b0 [0x2093b38]>{contents = "An active access token must be used to query information about the current user."}
    6 : <CFString 0x998c370 [0x2093b38]>{contents = "code"} = 2500
}
}
DIDLOGIN
2012-02-21 12:01:33.502[18153:15803]收到回复
2012-02-21 12:01:33.502[18153:15803]请求未加载原始响应
2012-02-21 12:01:33.502[18153:15803]请求失败,错误:error Domain=facebookerdomain Code=10000“操作无法完成。(facebookerdomain error 10000)。”UserInfo=0x9992100{error={type=mutable dict,count=3,
条目=>
2:{contents=“type”}={contents=“OAuthException”}
3:{contents=“message”}={contents=“必须使用活动访问令牌来查询有关当前用户的信息。”}
6:{contents=“code”}=2500
}
}
我不知道为什么我刚刚成功授权了OAuthException


谢谢你的帮助

当您设置参数字典并将其发送到facebook时。。也要像这样传递acces令牌

    NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               @"someText",  
                               @"message",
                               [fb accessToken], 
                               @"access_token",nil];

嗯,我发现了问题。至少我认为我找到了它,因为它现在起作用了,我只是希望我没有在这个过程中引入另一个错误。基本上,我的登录代码如下所示:

    - (void)postAchievement:(NSString *)message withPicture:(NSString *)pictureURL {
    //Set post to TRUE so the delegate posts when the method returns and configure the message. 
    DLog(@"Achievement message: %@", message);
    self.postAchievement = TRUE;
    self.achievementMessage = message;
    self.wallPostPicURL = pictureURL;
    [self fbLogin];
[facebook requestWithGraphPath:@"me" andDelegate:self];
}

    // Save the user's credentials and expiration date
- (void)fbDidLogin {
    DLog(@"DIDLOGIN");
    self.isLoggedIn = TRUE;
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
    [defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
    [defaults synchronize];
}

fbDidLogin是在用户登录时调用的委托方法。行
[facebook requestWithGraphPath:@“me”和delegate:self]是问题所在。我把它移到fbDidLogin方法的末尾,现在它似乎工作得很好

嗯-试过了,似乎没有什么不同。我还是会犯同样的错误。谢谢亲爱的。只需添加访问令牌。现在它工作了