2012-02-21 47 views
0

私は自分のゲームに自分の壁にアチーブメントを投稿するオプションがあります。彼らがログインしている、すなわち彼らのトークンがまだアクティブであるなら、それは正常に動作します。ただし、トークンを更新する必要がある場合は、アプリが終了し、Facebook認証ページが1秒間読み込まれてからアプリに戻ります(ログアウトしている場合は認証ページで[OK]をクリックする必要があります。 。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 
} 
} 

なぜ私は正常に認証したときにOAuthExceptionを受け取っているのでしょうか?

ありがとうございました!

答えて

0

のように,,また、トークン、私は問題を発見しました。少なくとも今はうまくいきましたが、私はこのプロセスで別のエラーを導入しないことを願っています。基本的にコード化された私のログインは、このように見えた:

- (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" andDelegate:self];が問題でした。私はfbDidLoginメソッドの最後に移動し、今は完全に動作するようです。

1

あなたはFacebookのに送るのparamsの辞書を設定すると... ACCESを渡すが、さて、この

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

Hmmm - それを試してみて、何の違いもなかったようです。私はまだ同じエラーが発生します。 – Smikey

+0

ありがとうございます。アクセストークンを追加するだけです。今それは働く –

関連する問題