Question

Dès que l'utilisateur est connecté, je récupère les informations de l'utilisateur en utilisant ce code:

[_facebook requestWithGraphPath:@"me" andDelegate:self];

Il a travaillé pour les premières fois, mais il a finalement renvoyé une erreur. Je pensais que c'était une chose de la session depuis que je suis « offline_access » sur mes autorisations. Je me suis connecté sur Facebook et de nouveau compilé à partir d'une construction propre et il retourne encore cette erreur:

  

Erreur de domaine = facebookErrDomain code = 10000 UserInfo = 0x54a2930 "opération n'a pas pu être terminée. (Erreur facebookErrDomain 10000.)"

Je suppose que mon jeton d'accès est valide puisque je peux faire l'affichage. Ai-je raison de supposer que?

J'ai aussi remarqué que chaque fois que je me connecte, Facebook ne me redirige pas demander la permission si je permets à mon application pour accéder à mes informations utilisateur.

Quelqu'un peut-il me dire ce qui ne va pas?

Était-ce utile?

La solution

Voici une solution temporaire, je l'ai utilisé. Vous pouvez trouver cette ligne de la méthode 46 FBLoginDialog.m

- (void) dialogDidSucceed:(NSURL*)url {
  NSString *q = [url absoluteString];
  NSString *token = [self getStringFromUrl:q needle:@"access_token="];
  NSDate *expirationDate = [NSDate distantFuture];

  if ((token == (NSString *) [NSNull null]) || (token.length ==0)) {
    [self dialogDidCancel:url];
    [self dismissWithSuccess:NO animated:YES];
  } else {
    if ([_loginDelegate respondsToSelector:@selector(fbDialogLogin:expirationDate:)]) {
      [_loginDelegate fbDialogLogin:token expirationDate:expirationDate];
    }
    [self dismissWithSuccess:YES animated:YES];
  }
}

Est-ce que tout le monde avec cette question demande l'autorisation de offline_access? C'est la seule raison pour laquelle je peux voir une date d'expiration ne sont pas envoyées. Peut-être essayer pas Requestion l'autorisation de offline_access.

Autres conseils

Réponse sur commande semble être authorize différent. Maintenant, il n'y a pas de date d'expiration comme avant. J'ai essayé de forcer isSessionValid à retourner TRUE, et il fonctionne.

vérifie isSessionValid accessToken ET ExpirationDate. Comme il n'y a pas de date d'expiration, le retour de la fonction FAUX.

Je ne sais pas si elle est une modification temporaire de facebook ou définitif. Dans ce cas, le SDK doit être fixé, je présume. Et un nouvel appel doit récupérer expirationDate.

J'ai eu le même problème. J'ai vérifié mes paramètres de confidentialité, les permissions, autre méthode, etc ..., mais je ne pouvais pas le résoudre. De nombreux sites ont dit « l'autorisation de contrôle pour accéder à offline_access / read_stream / publish_stream », je pense que ces éléments sont importants aussi, mais je ne pouvais pas le réparer.

Alors j'ai trouvé la solution suivante enfin, il fonctionne très bien.

Vous devriez changer "safariAuth: OUI" à "safariAuth: NON". Sur le fichier "Facebook.m"

- (void)authorize:(NSArray *)permissions
         delegate:(id<FBSessionDelegate>)delegate {
            [_permissions release];
            _permissions = [permissions retain];
            _sessionDelegate = delegate;

            //[self authorizeWithFBAppAuth:YES safariAuth:YES];
            //You can get auth_token in iOS App!
           [self authorizeWithFBAppAuth:YES safariAuth:NO];      
}

Ensuite, vous pouvez utiliser la méthode suivante pour obtenir votre propre information si vous êtes connecté.

[facebook requestWithGraphPath:@"me" andDelegate:self];

si vous n'êtes pas connecté, vous devez vous connecter en suivant la première méthode.

permissions =  [[NSArray arrayWithObjects:
             @"email", @"read_stream", @"user_birthday", 
             @"user_about_me", @"publish_stream", @"offline_access", nil] retain];
if (![facebook isSessionValid]) {
    [facebook authorize:permissions delegate:self];
}

Après sauvé après me.Thank beaucoup! Comment récupérer une réponse Facebook Facebook iOS SDK

Bonne chance et Bonne-codage! Merci.

J'ai eu ce problème, surtout parce que mon compte Facebook a atteint la limite est sur la vie privée.

Il est plus probable que les autorisations que vous avez passé dans lors de la connexion. Par défaut, il ne donnera accès aux informations publiques. Rappelez-vous il y a de moins en moins d'informations qui est public dans Facebook.

Essayez de changer votre autorisation à quelque chose comme "read_stream", nul

Alors, au lieu de [_facebook requestWithGraphPath: @ "moi" andDelegate: auto];

Essayez d'utiliser [_facebook requestWithGraphPath: @ "moi / home" andDelegate: auto];

Cela devrait retourner votre flux de nouvelles. A travaillé pour moi il y a 5 minutes.

Pas grand chose à ajouter ici, ne fonctionne pas ici. J'utilise le SDK iOS pour post sur le flux et cela a fonctionné jusqu'à hier. Aujourd'hui, mon client m'a appelé et se sont plaints. Ugh.

J'ai demandé l'autorisation d'accès en ligne et bien sûr l'autorisation « publish_stream » ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top