Redirection vers la boîte de dialogue d'authentification- " une erreur s'est produite. S'il vous plaît essayer à nouveau plus tard"

Pourquoi ça m'arrive toujours?

Cela se produit après que mon application vérifie la connexion de l'utilisateur et redirige l'utilisateur vers la page d'authentification:

https://www.facebook.com/dialog/oauth?client_id=XXX&redirect_uri=http%3A%2F%2Fexample.com%2Fmyappname%2F&state=YYYYYY&scope=offline_access%2Cpublish_actions

Mais au lieu d'afficher la page d'autorisation, Facebook affiche une page d'erreur avec

Une erreur s'est produite. S'il vous plaît essayer à nouveau plus tard.

Y a-t-il une configuration que je dois faire avant d'essayer d'authentifier mes utilisateurs?

Tout est fait avec PHP en utilisant les classes PHP-SDK.

49
demandé sur Wanderson Silva 2011-08-29 19:03:39

30 réponses

J'ai eu le même problème après avoir changé le domaine de mon site. Bien que j'ai correctement changé le paramètre request_uri et mis à jour les paramètres de mon application avec le nouveau domaine, l'erreur a continué à apparaître. Puis j'ai réalisé que L'ID et L'ID SECRET de mon application Facebook avaient automatiquement changé sans avertissement!! Le tout a commencé à fonctionner à nouveau en utilisant le nouvel ID.

38
répondu albert 2011-11-16 15:58:44

J'ai eu le même problème que vous.

Sur la page Facebook Developers Apps, assurez-vous que le mode Sandbox est désactivé.

entrez la description de l'image ici

64
répondu dxit 2012-02-08 00:00:06

Cela m'arrivait aussi mais toutes les clés de l'api, les secrets et les choses étaient corrects. Ce que j'ai trouvé, c'est que mon application fonctionnait en mode sandbox. Accédez aux paramètres de votre application dans https://developers.facebook.com / Cliquez sur l'onglet Paramètres avancés et vérifiez si votre application est en mode sandbox. Si c'est le désactiver et essayez de nouveau. Laissez-nous savoir si cela fonctionne.

16
répondu Juank 2011-12-12 18:31:39

Je recevais cette erreur parce que je commençais à partir de http://mysite.com, mais j'avais spécifié http://WWW.mysite.com dans Mes paramètres Facebook - le www importait... J'ai fini par résoudre à l'aide de .httpaccess pour toujours tuer le "www", et pointer FB sur http://mysite.com

Pire. sous-domaine. jamais. : u)

7
répondu case2000 2012-02-14 07:52:32

Lorsque vous travaillez avec des Dialogues, Facebook fournit un attribut 'show_error' qui vaut par défaut no mais qui peut être défini sur true dans un environnement de développement et qui est vraiment utile pour le débogage.

Show_error - si cette valeur est définie sur true, le code d'erreur et la description de l'erreur s'affichent en cas d'erreur.

Les Instructions de son utilisation peuvent être trouvées dans les documents Facebook .

J'avais débogué "une erreur s'est produite. Veuillez essayer plus tard." dialogue avant que je trouve cet attribut dans les docs. Une fois que j'ai commencé à l'utiliser, je pouvais voir le message suivant aussi:

Code D'erreur API: 191

Description de L'erreur API: L'URL spécifiée n'appartient pas à l'application

Message d'erreur: redirect_uri n'appartient pas à l'application.

7
répondu Pete 2013-04-12 09:48:07

J'ai eu le même problème; il s'est avéré FB nécessite un chaîne appID et pas un int...

//DOESNT WORK:
$facebook = new Facebook(array(
  'appId'  => 147XXXXXXXXXXX,
  'secret' => 'XXXXXXXXXXXXXX',
));

// WORKS:
$facebook = new Facebook(array(
  'appId'  => '147XXXXXXXXXXX',
  'secret' => 'XXXXXXXXXXXXXX',
));
5
répondu JaredBroad 2011-12-31 19:20:30

Pour moi, cela s'est produit parce que "l'utilisateur de test" que j'ai créé faisait partie d'une application séparée. J'ai créé un utilisateur de test pour cette application, et cela a commencé à fonctionner correctement.

Stupide de ma part, je sais, mais cela pourrait sauver quelqu'un d'autre quelques ennuis.

5
répondu James Pelton 2012-11-08 19:59:47

Assurez-vous que votre application est configurée pour utiliser L'URL et le domaine appropriés de votre site. C'est peut-être ça.

3
répondu SBerg413 2011-08-29 15:11:43

Selon la documentation OAuth Dialog:

*redirect_uri: URL vers laquelle rediriger une fois que l'Utilisateur a cliqué sur un bouton dans la boîte de dialogue. L'URL que vous spécifiez doit être une URL avec le même domaine de Base que celui spécifié dans les paramètres de votre application, une URL de canevas de la forme https://apps.facebook.com/YOUR_APP_NAMESPACE ...*

Je construis dynamiquement des liens OAuth pour demander à un utilisateur des autorisations supplémentaires si nécessaire et j'ai réalisé que même si vous redirigez vers https://apps.facebook.com/YOUR_APP_NAMESPACE Vous devez définir le domaine de L'application et les paramètres du site Web dans l'administration de votre application. J'ai défini le domaine sur facebook.com et site web à l'url racine facebooks.

Maintenant, mon lien de dialogue OAuth fonctionne bien-même en mode sandbox.

3
répondu Tomas Molnar 2012-04-05 14:07:27

J'ai eu ce problème exact sur une application D'onglet de Page et pour la vie de moi n'a pas pu déterminer quel était le problème. Cela a fonctionné sur ma page de test mais dès que je l'ai fait vivre, cela ne fonctionnerait pas. J'ai trouvé à la fin que j'ai résolu le problème en mettant l'URL réelle à l'onglet Page (c'est-à-dire http://www.facebook.com/<"page_name">/app_<"app_id">) Dans "URL du Site" sous "site Web". Cela n'a aucun sens. Mais ça a marché : -)

3
répondu Owen Davey 2012-04-11 19:21:10

La Solution pour moi est de définir l'option 'références authentifiées' sur Activé. Ses vraiment fixe par la suite.

Correction d'une erreur d'autorisations

3
répondu FelikZ 2012-10-03 08:04:28

Le problème a été résolu après avoir mis à jour 'appID' et 'secret', puis repoussé le changement à heroku (c'est - à-dire - 'git push Heroku master')

La clé est de ne pas oublier de pousser les changements à Heroku master. Très facile à négliger si vous avez l'habitude de tester sur localhost.

J'espère que cela aide.

2
répondu edwinjue 2012-02-22 10:13:49

{Facebook facebook [0]}pour moi, le problème était que les utilisateurs de Facebook que j'utilisais pour tester l'application n'avaient pas son adresse e-mail confirmée par Facebook.

Mon client avait mis en place 2 faux comptes sur Facebook et m'a dit qu'ils ne fonctionnaient pas. Mais il a oublié de confirmer les adresses e-mail de ces comptes (les e-mails envoyés par Facebook sont allés dans son dossier spam et il n'a pas remarqué).

Il m'a fallu des heures pour trouver ça, alors j'espère que ça aidera quelqu'un.

Cheers!

2
répondu Tiago 2012-09-12 00:16:38

A également eu un problème avec un mauvais lien de redirection: j'avais un lien commençant par "https://apps.facebook.com?myapplication".... mais après autorisation, la redirection m'amènerait à "apps.facebook.com/Myapplication" et par conséquent, je recevrais un message décrit ci-dessus:"une erreur s'est produite. Essayez de revenir plus tard."depuis "apps.facebook.com"... signifie "http://apps.facebook.com/Myapp" et pas "HTTPS://apps.facebook.com/,..."

La solution: est allé à mes paramètres d'application dans les développeurs facebook section. Cliqué Sur "Modifier". Dans le Menu de gauche sélectionné "autorisations" (par défaut, le Menu est défini sur Basic) et dans l'ensemble de paramètres nouvellement ouvert changé mon "paramètre de jeton Auth" de "chaîne de requête" à "Fragment D'URL".

Ça a marché! Une fois l'autorisation terminée les utilisateurs sont amenés à "https://apps.facebook.com/myapp..."

2
répondu anne 2012-11-07 11:15:18

Une autre erreur possible, si vous avez directement copié le code de L'exemple Facebook SDK, alors vous pouvez obtenir la même erreur malgré d'avoir tout correct. http://developers.facebook.com/docs/reference/php/

C'est parce que dans leur exemple, ils ont utilisé des backquotes au lieu de guillemets simples pour la clé du tableau. Le code correct est le suivant.

require_once("facebook.php");

$config = array();
$config['appId'] = 'YOUR_APP_ID';
$config['secret'] = 'YOUR_APP_SECRET';
$config['fileUpload'] = false; // optional

$facebook = new Facebook($config);
2
répondu Sanket Sahu 2012-11-18 21:33:42

Si votre tout le code fonctionne correctement, puis pour supprimer ce type d'erreur aller à Facebook Developers Apps et désactiver sandbox mode.

2
répondu Suraj 2013-01-01 14:49:30

Je viens de rencontrer ce problème moi-même. Je développe une application en interne, donc mon hôte est 'localhost'. Il n'était pas évident comment mettre "localhost" dans la configuration de l'application. Si vous souhaitez développer localement, configurez votre application en suivant les étapes suivantes:

  1. Accédez à L'endroit où vous gérez votre application Facebook. Plus précisément, vous voulez être dans " Basic "sous le menu" Paramètres".
  2. Ajoutez 'localhost' à "Domaine D'application".
  3. sous " Sélectionnez comment votre application s'intègre à Facebook", sélectionnez "site Web" et entrez "http://localhost/".

Enregistrez et attendez quelques minutes pour que l'information se propage, bien que cela ait fonctionné tout de suite pour moi.

1
répondu Me Too 2012-04-18 15:56:15

J'avais mis la restriction sur l'application que seule la résidence des États-Unis pouvait utiliser l'application. Je travaillais du Canada au moment où ce message d'erreur est apparu. Après avoir supprimé la restriction, tout a fonctionné.

1
répondu Chris 2012-08-23 13:45:54

Est venu ici avec un problème similaire et, oui, mon bac à sable a été activé. Je l'ai désactivé et, voila, le problème de connexion est parti. Je dois avertir que ce problème n'affecte pas les développeurs et les administrateurs de sites Web Car Facebook permet à ces utilisateurs de voir l'application. Pour cette raison, Je ne pouvais même pas croire que les utilisateurs se sont plaints de ne pas pouvoir se connecter, car j'ai pu me connecter sans aucun problème.

1
répondu LizardKG 2012-11-16 09:32:41

J'ai eu le même problème, et le résoudre en ajoutant param & display = touch à l'url

Essayez, cela peut aider

1
répondu Sergey Nikolaev 2013-02-27 10:23:13

Réponse pour 2015

Le mode Sandbox a disparu.

Passez à My Apps -> Your App -> Status & Review et remplacez le curseur par oui pour:

Voulez-vous rendre cette application et toutes ses fonctionnalités en direct disponibles pour le grand public?

entrez la description de l'image ici

1
répondu Abram 2015-08-26 15:18:21

Si vous êtes le développeur de l'application, vous pouvez voir un message d'erreur plus spécifique, mais en général, ce message signifie deux choses:

  1. votre serveur a renvoyé un code D'erreur HTTP (généralement 5xx)
  2. vous avez essayé d'envoyer l'utilisateur, après la connexion, à une URL non autorisée par la configuration de votre application (bien qu'en tant Qu'administrateur de l'application, vous devriez voir un message d'erreur plus spécifique et un code D'erreur Facebook dans ce cas)
0
répondu Igy 2011-08-29 17:05:58

J'ai eu cette erreur parce que j'utilisais redirect_url comme paramètre au lieu de redirect_uri.

La page Docauthentification Côté Serveur indique d'utiliser redirect_url:

https://www.facebook.com/dialog/oauth?
    client_id=YOUR_APP_ID
   &redirect_url=YOUR_REDIRECT_URI
   &scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES
   &state=SOME_ARBITRARY_BUT_UNIQUE_STRING

Mais ceci est incorrect. La boîte de dialogue OAuth doc dit d'utiliser redirect_uri à la place, ce qui fonctionne, donc je suppose que vous ne pouvez utiliser que l'un et non l'autre:

https://www.facebook.com/dialog/oauth/?
    client_id=YOUR_APP_ID
    &redirect_uri=YOUR_REDIRECT_URL
    &state=YOUR_STATE_VALUE
    &scope=COMMA_SEPARATED_LIST_OF_PERMISSION_NAMES
0
répondu user456814 2012-03-20 19:16:00

J'avais essayé toutes les réponses mentionnées ici. Mais il ne fonctionne pas. J'ai dû supprimer et créer à nouveau. Je suppose que c'était dû à la nouvelle "référence authentifiée". Si vous avez ajouté des objets Open Graph qui ne sont pas approuvés, cela peut vous donner une erreur.

0
répondu Rahul 2012-04-09 14:29:58

J'ai eu le même problème et la cause était différent:

J'ai été connecté en tant Qu'utilisateur de Test d'une application différente. Par conséquent, je n'ai pas été en mesure d'autoriser une application qui n'est pas celle pour laquelle l'utilisateur de Test a été créé.

Lorsque je me suis déconnecté et connecté en tant qu'Utilisateur régulier ou utilisateur de Test pour l'application que j'ai essayé d'autoriser, tout était OK.

0
répondu yonix 2012-07-05 15:18:16

Dans mon cas, il y avait un problème d'âge avec le compte utilisé avec l'application.

Si L'application FB a un contenu alcoolique, les utilisateurs de FB qui sont plus jeunes que 21 lanceront une erreur en essayant d'Autoriser avec elle.

0
répondu Chris 2012-10-17 16:04:34

Vous devez spécifier http:// dans votre URI de redirection.

0
répondu Chris Kirby 2012-10-26 08:35:30

Pour moi, le problème était que l'url de l'application ne correspondait pas complètement à l'url sur laquelle je l'exécutais (c'est-à-dire différents répertoires, même domaine)

0
répondu Click Upvote 2012-10-30 10:55:09

Il n'y a aucune possibilité de résoudre ce type d'erreur. Il est donc préférable d'utiliser votre boîte de dialogue personnalisée comme indiqué dans facebook et poster un message encore et encore sans connexion. Même si vous supprimez votre application de facebook, vous pouvez demander une connexion et poster un message avec succès.

0
répondu Hetal Modi 2013-03-30 13:33:10

La raison dans mon cas était complètement différent. J'essayais d'ouvrir une boîte de dialogue de flux automatiquement après le chargement de la page. Et 9 fois de 10 il a affiché cette erreur. Tout d'abord, j'ai ajouté le paramètre show_error: true comme suggéré par @Peter Roome, mais cela n'a pas aidé, affichant 104: Invalid signature, pas descriptif du tout.

Ensuite, j'ai trouvé la raison. Le code était dans la fonction $(document).ready jQuery. Et il semble que certains trucs facebook n'avait pas encore été chargé au moment où le code devait être exécuté. J'ai déplacé le code à $(window).load bloc (qui est exécuté après que tout le contenu de la page est chargé), et le problème a été résolu.

0
répondu Dennis Golomazov 2013-08-26 18:59:21