203 votes

Comment tester Facebook Connect localement

J'utilise ASP .NET et les API de Facebook Connect. Mais lorsque je lance l'application et que j'appuie sur le bouton Connecter, elle renvoie vers le site web et non vers le serveur local de test qui est ( http://localhost:xxxx/test.aspx ) Alors comment puis-je tester Facebook localement (c'est-à-dire comment puis-je changer l'url de rappel) ?

4 votes

La réponse est ici : forum.developers.facebook.com/viewtopic.php?pid=116136 vous devez modifier ' C:\WINDOWS\system32\drivers\etc\hosts pour que votre domaine vienne sur votre hôte local.

104 votes

Ce système semble avoir été plutôt mal mis en œuvre par Facebook. Il ne semble pas qu'il leur soit venu à l'esprit que quelqu'un puisse vouloir tester cette fonctionnalité autrement que sur un serveur en direct. Les deux solutions proposées ici - modifier le fichier hosts local pour usurper le serveur de production et le rediriger vers localhost, et changer temporairement l'URL de production en direct sur Facebook en localhost - sont toutes deux remarquablement mal conçues de la part de Facebook. Facebook doit ajouter une sorte de capacité de test à son système.

2 votes

Une solution consiste à avoir 3 applications --> live, QA et Dev. Donc si votre application principale est apps.facebook.com/ohnice/ QA et dev peuvent être apps.facebook.com/ohnice_qa_sd/ apps.facebook.com/ohnice_dev_fg/ oui quelque chose d'aléatoire pour que vous n'ayez pas de visiteurs indésirables quand votre maison n'est pas rangée.

238voto

freeall Points 1413

C'est assez simple quand on le découvre.

Ouvrir /etc/hosts (unix) ou C:\WINDOWS\system32\drivers\etc\hosts .

Si votre domaine est foo.com, ajoutez cette ligne :

127.0.0.1    local.foo.com

Lorsque vous effectuez des tests, ouvrez local.foo.com dans votre navigateur et cela devrait fonctionner.

4 votes

Pour modifier votre fichier hosts sur MAC, exécutez "sudo pico /private/etc/hosts" dans votre terminal, modifiez-le et appuyez sur "ctrl X" pour le sauvegarder.

0 votes

@Christoffer : Je crois que /private/etc est juste un lien symbolique dans /etc, donc /etc/hosts et /private/etc/hosts est le même fichier.

1 votes

Vous avez raison... mais certains d'entre nous ont besoin d'être nourris à la cuillère et dire "ouvrir /etc/hosts" n'est pas suffisant ;) FB échoue toujours localement avec cette solution pour moi. Je n'utilise pas le facebook JS

102voto

jitbit Points 8072

Modifiez votre application à www.facebook.com/developers/ et définissez l'"URL du site" sur "http://localhost/myapppath".

Quand c'est fait - changez-le à nouveau.

19 votes

Facebook ne se "connecte" pas à votre serveur. C'est son JS qui le fait. Et le JS s'exécute dans le contexte de votre navigateur. Qui sait où "localhost" pointe.

0 votes

Je n'ai pas pu ajouter " localsite "Je devais m'assurer qu'il y avait un point à l'intérieur. Ça a marché : " local.site "

0 votes

Certaines fonctions de FB ne fonctionnent pas avec cela. Par exemple - enregistrer les réalisations sur les serveurs FB. Il veut HTTPS, donc mon truc de localhost ne fonctionne pas :(

78voto

sagivo Points 4759

Je suggère de créer une application de test (pour l'environnement de développement seulement) sur https://developers.facebook.com/apps et régler : Website with Facebook Login à votre localhost : [port] paramètres.
cette option fonctionnera parfaitement sans qu'il soit nécessaire de changer d'hôte.
n'oubliez pas de changer le appId à votre application de production une fois en ligne.

Modifier - dans la dernière version de fb, vous le trouverez sous la rubrique settings onglet. enter image description here

2 votes

Ou simplement utiliser des fichiers de configuration séparés pour, dev, staging et live.

1 votes

Je ne trouve plus de "Site web avec connexion Facebook".

5 votes

Il semble que vous deviez cliquer sur le gros bouton gris horizontal "+ Add Platform". Là, vous avez "Website"

42voto

Snowman Points 71

Vous n'avez rien à faire de difficile !

Paramètres de base de Facebook :
écrire " localhost " en el " App Domaines " puis cliquez sur " +Ajouter une plate-forme " choisissez " Site web " .

Après cela, dans le " Url du site " champ écrivez votre url localhost
(par exemple : http://localhost:1337/something ).

Cela vous permettra de tester vos plugins facebook localement.

1 votes

Existe-t-il une solution de contournement pour les fichiers dans le chemin file:///android_assets/www ? facebook n'autorise pas ce chemin pour l'url du site.

1 votes

Doit être https maintenant

0 votes

@Simon_Weaver où avez-vous obtenu cette information ? est-elle documentée quelque part ?

5voto

rio517 Points 31

Facebook semble désactiver de manière aléatoire la possibilité de définir localhost comme domaine dans votre application Facebook. J'ai trouvé que la solution la plus simple était de tunneliser mon localhost vers le web. Cela peut être fait gratuitement en utilisant http://progrium.com/localtunnel/ ou avec une url personnalisée (plus facile puisque vous ne devez pas changer l'url à chaque fois dans facebook) https://showoff.io

3 votes

Un autre choix de tunnel est ngrok.com

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X