J'ai écrit un jeu pour Facebook en utilisant Rails et jQuery. Depuis que j'ai commencé à utiliser le SDK Javascript Facebook, utiliser localhost comme domaine d'application semblait très bien fonctionner. J'ai pu tester mon jeu à la fois localement et sur Heroku.
Au cours des derniers jours, il semble que Facebook ait effectué une grande mise à jour de l'interface utilisateur de son développeur. Maintenant, si j'ajoute localhost en tant que domaine d'application, cela me donne l'erreur suivante:
Cela doit être dérivé de l'URL du canevas, de l'URL du canevas sécurisé, de l'URL du site, de l'URL du site mobile, de l'URL de l'onglet de page ou de l'URL de l'onglet de la page sécurisée. Vérifiez et corrigez les domaines suivants: localhost
Mon jeu ne fonctionne pas non plus localement et j'obtiens une erreur lorsque le SDK Javascript connecte l'utilisateur:
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 non valide: l'URL donnée n'est pas autorisée par la configuration de l'application.
Cela ne se produit pas lorsque je déploie mon jeu, car herokuapp.com est considéré comme un domaine d'application valide.
Comment dois-je développer et tester mon jeu si je ne peux plus utiliser localhost ou 127.0.0.1?
la source
Réponses:
Le protocole semble continuer à changer et la réponse acceptée n'a pas fonctionné pour moi aujourd'hui. Au cas où cela aiderait d'autres chercheurs, voici ce qui a fonctionné pour moi:
1.) Dans le centre sous la première boîte d'options, cliquez sur "+ Ajouter une plateforme" et choisissez "Site Web" (ou tout ce qui est approprié pour votre application.)
2.) Dans la case qui s'affiche pour le site Web que vous venez d'ajouter: URL du site:
http://localhost:3000/
3.) Dans la case ci-dessus (Paramètres => De base): Domaine d'application:
localhost
4.) En bas à droite - cliquez sur "Enregistrer les modifications"
5.) Assurez-vous que l'ID de l'application est copié et collé correctement dans votre code. (L'ID se trouve dans la première case de cette page si vous en avez à nouveau besoin.)
la source
localhost
car cela ne fonctionnait pas auparavant. Merci pour la bonne réponse.la source
Vous pouvez toujours tester votre application sans la déployer sur un serveur distant tel que heroku. L'astuce consiste à mettre à jour le
etc/hosts
fichier de cette façon:Ensuite, dans les paramètres de l'application Facebook, tapez [ http: //] mydomain.com, sans les "[" et "]"
Cela a fonctionné pour moi de cette façon
la source
Pour tous ceux qui agitent avec cela en 2017. L'interface a encore changé. Je voulais commenter ceci à la réponse mais je n'ai pas assez de réputation. L'URL localhost de votre application doit maintenant être copiée à trois emplacements. Actuellement (26 octobre 2017) la séquence est:
1.) Cliquez sur "Paramètres" dans le menu de gauche.
2.) Dans le centre sous la première boîte d'options, cliquez sur "+ Ajouter une plateforme" et choisissez "Site Web" (ou tout ce qui est approprié pour votre application.)
3.) Dans la boîte qui s'affiche pour le site Web que vous venez d'ajouter, copiez l'url de votre site localhost (par exemple http: // localhost: 3000 / )
4.) Dans la case ci-dessus, "Domaine d'application" copiez la même URL
5.) En bas à droite - cliquez sur "Enregistrer les modifications"
6.) Dans le menu de gauche sous "Produits", cliquez sur "Connexion Facebook" (ou ajoutez-le via "+ Ajouter des produits" s'il n'est pas disponible)
7.) Vous êtes maintenant dans les paramètres de connexion Facebook. Copiez la même URL dans le champ "URI de redirection OAuth valides"
Cela devrait fonctionner.
la source
Ajoutez simplement localhost comme URL de canevas ou URL de site mobile, cela vous permettra d'avoir à la fois localhost et herokuapp.com dans les paramètres de votre domaine d'application. Ensuite, une fois que votre application est en production, supprimez-la simplement.
la source
C'est faux. Vous devez créer une application de test à l'aide de l'onglet Test dans les paramètres de l'application. Ensuite, vous pouvez entrer votre URL de phase de développement (par exemple localhost) dans votre application.
la source
Solution utilisant Firebase
Afin de faire fonctionner cela
localhost
, le port3000
j'ai fait ce qui suit:localhost
aux domaines d'applicationhttp://localhost:3000/
à l'URL du site en sélectionnant "+ Ajouter une plate-forme"Jusqu'à présent, j'avais suivi toutes les réponses précédentes soumises ici, mais rien n'a fonctionné.
Alors...
Dans le menu de gauche, sélectionnez "Ajouter un produit"
Ajouter "Connexion Facebook"
Un carrousel de flux de travail vous sera présenté, avec le domaine par défaut
http://localhost:3000/
, cliquez sur "continuer" jusqu'à la fin.Sélectionnez "Connexion Facebook> Paramètres" dans le menu Produit.
Entrez votre URI de redirection Firebase OAuth (trouvé lorsque vous activez la connexion Facebook dans votre console Firebase https://console.firebase.google.com , exemple ci-dessous)
Terminé.
la source
Essayez d'utiliser l'url avec le port, par exemple
J'avais le même problème et j'ai trouvé cette solution en ce moment.
la source
Cela fonctionne pour moi dans heroku, le truc localhost n'a pas fonctionné (pour moi). J'espère que ça aide
1.) Dans le centre sous la première boîte d'options, cliquez sur "+ Ajouter une plateforme" et choisissez "Site Web" (ou tout ce qui est approprié pour votre application.)
2.) Dans la boîte qui s'affiche pour le site Web que vous venez d'ajouter: URL du site: http://MYAPP.herokuapp.com/ (remplacez MYAPP par le nom de votre application)
3.) Dans la case ci-dessus (Paramètres => De base): Domaine d'application: MYAPP.herokuapp.com (remplacez MYAPP par le nom de votre application)
4.) En bas à droite - cliquez sur "Enregistrer les modifications"
la source
Juste une note pour certains autres qui peuvent avoir du mal avec cela comme moi. Je n'ai pas pu faire fonctionner cela avec les applications de "test". En utilisant les paramètres réels de mon application (et en ajoutant simplement
à mon URL de canevas) a fonctionné comme tout le monde l'a suggéré. Il semble que les applications de test ne soient pas égales aux applications réelles.
la source
J'ai rencontré un problème avec mon application Rails que j'exécute habituellement avec http: // localhost: 3000 car Facebook nécessite désormais la redirection OAuth valide pour utiliser https.
Pour utiliser https localement, j'ai utilisé [ngrok] [1] qui vous permet d'utiliser https en fournissant un tunnel. Pour faire ça:
la source
pour faire des tests locaux, il vous suffit de désactiver l'application ou de mettre l'application facebook en mode développement. Alors Facebook vous permettra seul d'accéder à l'application
la source
Pour moi, cela a fonctionné comme ceci:
Configuration du tableau de bord de l'application Facebook:
* Sur l'onglet 'basique':
1) Laisser le domaine d'application vide.
2) Effacer n'importe quelle plate-forme. Signification: pas de site Web, pas de plate-forme de toile. (donc pas de champ URL de site à remplir)
* Sur l'onglet 'avancé':
3) J'ai entré les URI de redirection OAuth valides:
4) concernant mon code, insdie mon c: /xampp/htdocs/localhost/myappfolder/index.php (ce fichier fait le loginURL):
dans le fichier redirect.php:
et j'ai eu une session! enfin! pas besoin de me pendre à la fin: P
la source