2014-01-17 23 views
1

我使用Facebook Leader發佈在iOS 7中正常工作的分數,但是當我使用iOS時使用iPhone時它給出空訪問令牌。當我使用舊版本的iPad時,它也可以正常工作。只有當我在iOS上使用iPad時,我纔會遇到這個問題。當通過iPad發佈給Facebook Leader的分數時,Facebook訪問令牌爲空

代碼段:

[FBSession openActiveSessionWithPublishPermissions:permissions defaultAudience:FBSessionDefaultAudienceFriends allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) { 

      NSLog(@" access==%@",[FBSession activeSession].accessTokenData.accessToken); 

      NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: 

              [FBSession activeSession].accessTokenData.accessToken,@"access_token",[NSString stringWithFormat:@"%d",time], @"score",nil]; 

      [FBRequestConnection startWithGraphPath:@"me/scores" 

             parameters:params 

             HTTPMethod:@"POST" 

            completionHandler: 

      ^(FBRequestConnection *connection, id result, NSError *error) { 

       // Handle results 

       NSLog(@"result==%@ eror==%@",result,error); 

      }]; 
     }]; 

錯誤消息:

Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0x16573530 {com.facebook.sdk:ParsedJSONResponseKey={ 

    body =  { 

     error =   { 

      code = 2500; 

      message = "An active access token must be used to query information about the current user."; 

      type = OAuthException; 

     }; 

    }; 

    code = 400; 

}, com.facebook.sdk:HTTPStatusCode=400} 

我堅持here.please提出了一些辦法out.Is什麼毛病我的實現。

+0

這個日誌打印訪問令牌嗎? – Retro

+0

不,其打印空。 – Imran

+0

當你打開會議,其採取您認證? Facebook應用程序或Safari瀏覽器? – Retro

回答

0

您應該使用session代替[FBSession activeSession]因爲目前在該塊的方法你Quering訪問令牌形式前一交易日I-E [FBSession activeSession]而不是session是從[FBSession openActiveSessionWithPublishPermissions:^block返回。或至少分配[FBSession setActiveSession:session];,然後才能獲得使用權。