web-dev-qa-db-fra.com

Développement Facebook dans localhost

Je voulais juste savoir si je pouvais développer des applications Facebook dans localhost. 

164
Abhishek

Edit: 2-15-2012 Voici comment utiliser l'authentification FB pour un site Web localhost. 

Je trouve plus évolutif et pratique de créer une deuxième application Facebook. Si je construis MyApp, alors je vais en créer un deuxième appelé MyApp-dev.

  • Créez une nouvelle application sur https://developers.facebook.com/apps
  • (Nouveau 2/15/2012) Cliquez sur la case à cocher Website sous 'Sélectionnez le mode d'intégration de votre application avec Facebook' (Dans la version récente de Facebook, vous pouvez le trouver sous Paramètres> De base> Ajouter une plate-forme - Sélectionnez ensuite le site )
  • Définissez le champ URL du site (PAS le champ Domaines de l’application) sur http: //www.localhost: 3000(cette adresse est pour Ruby on Rails, modifiez-la si nécessaire)

enter image description here

  • Dans votre initialiseur d’application, insérez du code pour détecter l’environnement
    • Exemple de code 3 Rails
       if Rails.env == 'développement' || Rails.env == 'test' 
       Rails.application.config.middleware.use OmniAuth :: Builder do 
       fournisseur: facebook, 'DEV_APP_ID', 'DEV_APP_SECRET' 
       fin 
       sinon 
       # Production
       Rails.application.config.middleware.use OmniAuth :: Builder do 
       fournisseur: facebook, 'PRODUCTION_APP_ID', 'PRODUCTION_APP_SECRET' 
       fin 
       fin 
      

Je préfère cette méthode car une fois qu’elle est configurée, les collègues et les autres machines n’ont pas de configuration supplémentaire.

241
Eric Hu

Bien sûr, vous pouvez simplement ajouter l’URL localhost (sans "http") dans votre app_domain, puis dans votre site_url http://localhost (avec http)

Mettre à jour

Facebook change un peu les choses maintenant, il suffit d'aller dans les paramètres de l'application et dans l'URL du site, ajoutez simplement http: //localhost et laissez le domaine d'application vide.

25
stalin

Voici ma config et cela fonctionne très bien pour l'API PHP:

domaine d'application

   http://localhost

URL du site

   http://localhost:8082/
19
tradmed

REMARQUE: à partir de 2012, Facebook permet l'enregistrement de "localhost" en tant qu'URL de retour. Vous aurez peut-être encore besoin d’une solution de contournement similaire pour d’autres fournisseurs (Microsoft, par exemple).

Si vous avez besoin d'un vrai nom de domaine enregistré auprès de Facebook (par exemple, my.really.own.domain.com), vous pouvez rediriger localement les demandes de ce domaine vers votre ordinateur. L’approche par défaut la plus simple sur n’importe quel système d’exploitation consiste à modifier le fichier "hôtes" pour mapper le domaine en 127.0.0.1 (voir http://technet.Microsoft.com/en-us/library/bb727005.aspx#EDAA et https://serverfault.com/questions/118290/cname-record-alias-in-windows-hosts-file ).

J'utilise habituellement Fiddler pour le faire pour moi (sous Windows avec IIS local) - voir des exemples sur http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp

if (oSession.HostnameIs("my.really.own.domain.com")) {
   oSession.Host="localhost:80";
}

L'approche des approches de fichier d'hôtes ne fonctionne pas avec Visual Studio Development Server car elle nécessite que les URL entrantes soient localhost/127.0.0.1. Si vous devez travailler avec (ou éventuellement avec IIS express) pour remplacer Host - Utilisation de Fiddler avec IIS7 Express

19
Alexei Levenkov

Facebook n'autorisait plus l'URL de rappel 'localhost' pour les applications Facebook FBML

9
Sudantha

Avec le nouveau centre de développement, c'est maintenant plus facile: 

1) Laissez les domaines d'application vides. 
2) Cliquez sur Ajouter une plate-forme
3) L’URL du site doit correspondre au chemin complet de votre hôte local.
4) Enregistrer les modifications

9
JSV

Je viens de découvrir une solution de contournement: vous pouvez rendre votre machine locale accessible à l’aide de http://localtunnel.com . Vous devrez modifier (temporairement) certaines URL utilisées dans votre code d'application/code HTML afin que les liens pointent vers le domaine temporaire, mais au moins facebook peut atteindre votre ordinateur.

8
M.G.Palmer

Dans les paramètres de base de votre application ( https://developers.facebook.com/apps ) Sous Paramètres-> Basiques-> Sélectionnez le mode d'intégration de votre application avec Facebook ...

Utilisez "URL du site:" et "URL du site mobile:" pour conserver vos URL de production et de développement, respectivement. Les deux sites seront autorisés à s'authentifier. J'utilise simplement Facebook pour l'authentification, de sorte que je n'ai besoin d'aucune des fonctionnalités de redirection de site mobile. En général, lorsque je teste l'authentification, je remplace habituellement l'URL "Site mobile:" par mon site "localhost: 12345", puis je le remets à l'état normal lorsque j'ai terminé.

7
Carter Medlin

Il y a ! Ma solution fonctionne lorsque vous créez une application, mais que vous souhaitez utiliser l'authentification Facebook sur votre site Web. Cette solution ci-dessous n'est PAS nécessaire lorsque vous souhaitez créer une application intégrée à la page FB.

Le fait est que vous ne pouvez pas définir "localhost" en tant que domaine dans la page de configuration facebook de votre application. Raisons de sécurité ? 

Vous devez accéder à votre fichier hôte dans OSX/Linux etc/hosts et ajouter la ligne suivante: 127.0.0.1 dev.yourdomain.com

Le domaine que vous mettez ce que vous voulez. Une erreur est d’ajouter cette ligne: Localhost dev.votredomaine.com (au moins sur osx snow leopard dans ne fonctionne pas).

Ensuite, vous devez vider votre cache DNS. Sous OSX: saisissez dscacheutil -flushcache dans le terminal . Pour finir, retournez sur le site Web du développeur Facebook, et dans la page de configuration de votre application, vous pouvez ajouter le domaine "dev.votredomaine.com". .

Si vous utilisez un programme tel que Mamp, Easyphp ou autre, assurez-vous que le port pour Apache est 80. 

Cette solution devrait fonctionner pour Windows car elle contient également un fichier hosts. Néanmoins, autant que je me souvienne, Windows 7 n'utilise plus ce fichier, mais cette astuce devrait fonctionner si vous trouvez un moyen de forcer Windows à utiliser un fichier hosts.

5
MartinL

Vous devez choisir le produit Facebook 'login Facebook' et activer Client OAuth Login, 'Web OAuth Login' et 'Embedded Browser OAuth Login' Alors même si vous donnez l'URL localhost Cela fonctionnera  enter image description here

5
Abhinav bhardwaj

Essaye ça ---

https://www.facebook.com/help/community/question/?id=589302607826562

1 - Cliquez sur Applications, puis sélectionnez votre application.

2 - Cliquez sur le bouton Paramètres situé à gauche de l'écran.

3 - Dans les paramètres de base, cliquez sur le bouton Ajouter une plate-forme situé sous la configuration des paramètres

4 - Sélectionnez Site Web dans la boîte de dialogue de la plate-forme.

5 - Entrez votre URL (localhost fonctionne ici).

6 - Dans l'entrée de texte Domaines de l'application, ajoutez votre domaine qui correspond à celui de l'URL.

7 - Enregistrez vos paramètres.

3
Snm Maurya

Je pense que vous devriez pouvoir développer des applications à l’aide du serveur Web de développement de Visual Studio: Démarrez une nouvelle application FaceBook à l’adresse: http://www.facebook.com/developers/ . Définissez ensuite les paramètres de l’URL du site et de l’URL du canevas sur l’instance en cours de votre site Web, par exemple: http: // localhost: 1062 /

Voici quelques liens qui devraient vous aider à démarrer avec FaceBook: 

  1. http://thinkdiff.net/facebook/graph-api-iframe-base-facebook-application-development/
  2. http://nagbaba.blogspot.com/2010/05/experiencing-facebook-javascript-sdk.html
  3. http://apps.facebook.com/thinkdiffdemo/

J'espère que cela t'aides.

3
Vasile Laur

Supposons que vous avez enregistré votre application en tant que:

app.domain.com

Il vous suffit de modifier le fichier/etc/hosts en ajoutant

127.0.0.1 dev01.app.domain.com

Ensuite, modifiez votre configuration Apache

ServerName dev01.app.domain.com

et redémarrez Apache.

Vous aurez besoin de mettre votre URL dans une variable pour pouvoir l'utiliser comme paramètre XML sur certains appels:

<fb:login-button registration-url="http://<?=$URL?>/register" />

Vous n’avez pas assez de crédibilité pour commenter la réponse la plus votée, mais au moins dans mon environnement Rails (4), Rails est à http://localhost:3000, pas http://www.localhost:3000. Quand je l'ai changé en http://localhost:3000, cela a bien fonctionné. Pas besoin de modifier un fichier hosts. 

2
Andrew Shenstone

cela fonctionne en juin 2018, même après l'exigence HTTPS. Il semble qu'une application de test ne nécessite pas https:

créer une application de test: https://developers.facebook.com/docs/apps/test-apps/

ensuite, dans l'application test, suivez les étapes simples décrites dans cette vidéo: https://www.youtube.com/watch?v=7DuRvf7Jtkg

1
Ja Austin

Essaye ça:

https://ngrok.com/

Cela a fonctionné pour moi ...

1
Surender Lohia

Il est facile d’aller dans le tableau de bord de l’application sous l’onglet de connexion Facebook, cliquez sur Paramètres Puis sélectionnez Appliquer les HTTPs. Non, enregistrez les paramètres enter image description here

0
Jerome Blacq

app domain : localhost

site URL : http://localhost:4440/

travaillé pour moi avec la nouvelle interface utilisateur.

0
sftsz

Ma solution fonctionne bien dans localhost ..... Pour les URL de site, utilisez http://localhost/ Et pour les domaines d'application, utilisez localhost/folder_nameRest sa montre redflag dans App Domain..App fonctionne bien)

0
fab

Dernière mise à jour: Vous n'avez pas à donner d'URL si vous le testez en développement. Vous pouvez laisser les champs vides. Assurez-vous que votre application est en mode de développement. Si pas désactiver le statut de vivre.

Pas besoin de fournir l'URL du site, les domaines d'application ou une redirection valide oauth uri.

 enter image description here 

L'application fonctionnera parfaitement dans localhost: 3000, il vous suffira de spécifier l'adresse https sur laquelle l'application sera active en mode de production.
L'option 2 est de fournir l'URL ou votre site Web heroku qui vous permet d'avoir un exemple d'application en mode production.

 enter image description here

0
vidur punj