Facebook OAuthException: “l'utilisateur n'a pas autorisé l'application pour effectuer cette action”
À l'aide de l'Facebook SDK PHP, j'obtiens le message d'erreur suivant lorsque j'essaie de poster une mise à jour de statut:
Fatal error: Uncaught OAuthException:
(#200) L'utilisateur n'a pas autorisé le
application pour effectuer cette action
Ce sont les étapes que j'ai prises:
- Obtenir le code:
https://graph.facebook.com/oauth/authorize?client_id=FB_APP_ID&redirect_uri=REDIRECT_URI
- Obtenir un jeton d'accès:
https://graph.facebook.com/oauth/access_token?client_id=FB_APP_ID&code=CODE&client_secret= FB_SECRET&redirect_uri=REDIRECT_URI
- Tenter la mise à jour de statut:
require_once(facebook.php); $fb = new Facebook(array( 'appId' => FB_APP_ID, 'secret' => FB_SECRET )); $post = $fb->api('me/feed', 'POST', array( 'access_token' => ACCESS_TOKEN, 'message' => 'hello world!' ));
Je ne vois pas de paramètres dans mon application qui permettrait d'autoriser l'application à le faire, mais peut-être que je suis absent quelque chose. Des suggestions?
OriginalL'auteur | 2010-11-11
Vous devez vous connecter pour publier un commentaire.
Assurez-vous de demander de l'étendue
publish_stream
autorisation lorsque vous demandez le code (ajouté en tant que troisième paramètre):Espère que cette aide.
Cheers!
OriginalL'auteur Mohammad Emran Hasan
J'ai eu le même problème et ce post m'a vraiment aidé à sortir http://facebook.stackoverflow.com/a/8502709/965536
La seule différence avec mon problème est que j'ai été en utilisant le SDK PHP, mais, essentiellement, il fonctionne de la même façon. J'ai utilisé l'appel d'api
Vous pouvez ensuite exécuter vos chèques
Cela fonctionne pour moi mais quelqu'un peut avoir une meilleure réponse. Aussi, vous devez emballer votre publier le message de flux dans un try catch
Espère que cette aide.
Grâce
a bien fonctionné!, cela devrait être la bonne réponse
OriginalL'auteur Richard Merchant
Je l'ai mis ici pour obtenir plus d'informations
Marc a répondu ci-dessus m'a conduit dans la bonne direction. Mais il m'a fallu 5 heures pour trouver la solution.
http://developers.facebook.com/blog/post/2012/04/25/streamlining-publish_stream-and-publish_actions-permissions/
Donc, voici le résultat pour omniauth.rb:
OriginalL'auteur datnt
Avez-vous pris les autres mesures requises pour se connecter à l'utilisateur de votre application et à en autoriser votre application pour effectuer ces actions? Vous devez enregistrer les utilisateurs alors appel showPermissionDialog de les laisser se connecter et autoriser votre application. C'est ce que cette erreur est vous dire.
C'est une fonction javascript utilisé lors de la connexion, si elle pourrait être spécifique au plugin symfony, je suis en utilisant. Voir phpfour de réponse qui pourraient également être utiles (plus que la mienne, au moins).
OriginalL'auteur Anthony Corbelli