iOS Facebook SDK: active Un jeton d'accès doit être utilisé pour demander des informations sur l'utilisateur actuel

J'ai suivi de nombreux exemples et regardé beaucoup de questions sur ce jeton d'accès de l'erreur, mais je n'arrive pas à trouver pourquoi je reçois d'elle ou comment résoudre le problème.

Je init Facebook comme ils le font dans l'3.1 sdk exemples:

 NSArray* permissions = [[NSArray alloc] initWithObjects:@"publish_stream", @"publish_actions", nil];
 self.fb = [[FBSession alloc] initWithPermissions:permissions];
 [self.fb openWithCompletionHandler:^(FBSession *session,
                                         FBSessionState status,
                                         NSError *error)
     {
         [self sessionStateChanged:session :status :error];
     }];

Cela fonctionne bien et l'utilisateur est invité à accepter l'application des autorisations dans Safari et est retourné à l'application par la suite. Lorsque l'utilisateur est renvoyé à l'application, mon FBSessionState est FBSessionStateOpen.

Quand j'ai essayer ceci:

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

                     [self showAlert:@"logged in?" result:result error:error];
                 }];

ou ceci:

NSMutableDictionary* fbPost = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"post from iOS", @"message", nil];
[FBRequestConnection startWithGraphPath:@"me/feed" parameters:fbPost HTTPMethod:@"POST" completionHandler:^(FBRequestConnection *connection, id result, NSError *error)
                                        {

                                            [self showAlert:@"message posted?" result:result error:error];
                                        }];

mais j'obtiens:

FBSDKLog: FBURLConnection <#1126>:

  Duration: 936 msec

Response Size: 0 kB

  MIME type: text/javascript

  Response:

{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500}}

J'ai pris le jeton d'accès de mon FBSession et de le mettre en Facebook Jeton d'Accès de l'Débogueur et il montre j'ai un bon jeton:

App ID: <hidden>
Metadata: {"sso":"iphone-safari"}
User ID: <hidden>
Issued:  1351525817 (about an hour ago)
Expires: 1356709817 (in about 2 months)
Valid:  True
Origin: Mobile Web Faceweb
Scopes: create_note photo_upload publish_actions publish_stream share_item status_update video_upload

Je dois être en manque quelques petits détails dans les paramètres ou quelque chose.

Merci à tous par avance!

OriginalL'auteur G__ROW | 2012-10-29