4

私のプロジェクトでは、FaceBook から異なるデータを取得するだけのものは投稿していません。

時々データを取得していますが、
ほとんどの場合、このエラーが発生しています

操作を完了できませんでした。(com.facebook.sdk エラー 5.)

私の小さなコードは

permissions = [[NSArray alloc] initWithObjects:@"user_friends",@"read_stream",
@"read_requests",@"user_birthday",@"user_about_me",@"user_hometown",
@"user_location",@"user_likes",@"email",
               nil];


[FBSession openActiveSessionWithReadPermissions:permissions
                                   allowLoginUI:YES
                              completionHandler:
 ^(FBSession *session,
   FBSessionState state, NSError *error) {
NSString *queryNew55 = @"SELECT post_id,fromid,time FROM comment WHERE time > 1375553100 AND post_id IN (SELECT post_id FROM stream WHERE source_id = me())";

     // Set up the query parameter
     NSDictionary *queryParam15 = @{ @"q": queryNew55 };
     // Make the API request that uses FQL
     [FBRequestConnection startWithGraphPath:@"/fql"
                                  parameters:queryParam15
                                  HTTPMethod:@"GET"
                           completionHandler:^(FBRequestConnection *connection,
                                               id result,
                                               NSError *error) {
                               if (error) {
                                   NSLog(@"Error in comment query");
                                   NSLog(@"Error: %@", [error localizedDescription]);
                               } else {

                                   NSLog(@"comments Result: %@", result);


                               }

                           }
      ];

 }];  

同じエラーでGoogleで多くのことを見て、
それも適用しましたが、何も永久に機能しません。

FaceBook アプリでは、サンドボックス モードなどのすべてがオフになり、バンドル ID が完全に設定されます。

リンクやコード、またはこれに関連するものなどのヘルプは素晴らしいヘルプになります。

4

1 に答える 1

3

この質問は古いことは知っていますが、私の答えは他の人に役立つかもしれません。

コード/チュートリアル/ドキュメントのいくつかに従った後、このエラーが発生しました。

彼らのドキュメントと一部のサンプル コードとの間に断絶があるようです。

使用して

if (FBSession.activeSession.state != FBSessionStateCreated) {
        // Create a new, logged out session.
        self.facebookSession = [[FBSession alloc] init];
    }

[self.facebookSession openWithCompletionHandler:^(FBSession *session,
                                                     FBSessionState status,
                                                     NSError *error) {

セッションが更新されることはありません

FBSession.activeSession 

更新中。

したがって、開いているセッション (self.facebookSession) と、開いていない crated&TokenLoaded のセッションがあります。

したがって、次のような呼び出しを行います。

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

FBRequestConnection が FBSession.activeSession を使用するため、失敗します。

したがって、自分でセッションを管理する場合は、完了ハンドラーでアクティブなセッションを確認できます。

[self.facebookSession openWithCompletionHandler:^(FBSession *session,
                                                     FBSessionState status,
                                                     NSError *error) {

        [FBSession setActiveSession:session];
        // post or load user data.
    }];

今の私には合っているようですが、

お役に立てれば

于 2014-04-30T01:18:53.710 に答える