Développement de Facebook à localhost

voulait juste savoir s'il y avait un moyen de développer des applications Facebook à localhost.

164
demandé sur meagar 2010-12-26 07:15:18

18 réponses

Edit: 2-15-2012 C'est comment utiliser FB authentification pour un localhost site web.

je trouve plus évolutif et pratique de mettre en place une deuxième application Facebook. Si je construis MyApp, j'en ferai un autre appelé MyApp-dev.

  • créer une nouvelle application à https://developers.facebook.com/apps
  • (Nouveau 15/02/2012) cliquez sur le Website cochez la case "sélectionnez l'intégration de votre application avec Facebook" (Dans la version récente de Facebook, vous pouvez trouver ce sous Paramètres > Basic > ajouter une plate - forme-puis sélectionnez le site web)
  • définit le URL du Site champ ( pas le champ App Domains ) à http://www.localhost: 3000 (cette adresse est pour Ruby on Rails, changement si nécessaire)

enter image description here

  • dans votre initialiseur d'application, mettez le code pour détecter l'environnement
    • exemple de Rails code 3
      if Rails.env == 'development' || Rails.env == 'test'
        Rails.application.config.middleware.use OmniAuth::Builder do
          provider :facebook, 'DEV_APP_ID', 'DEV_APP_SECRET'
        end
      else
        # Production
        Rails.application.config.middleware.use OmniAuth::Builder do
          provider :facebook, 'PRODUCTION_APP_ID', 'PRODUCTION_APP_SECRET'
        end
      end
      

je préfère cette méthode parce qu'une fois qu'elle est mise en place, les collègues et les autres machines n'ont pas de configuration supplémentaire.

240
répondu Eric Hu 2014-01-27 05:58:18

bien sûr, vous pouvez, il suffit d'ajouter l'url localhost (sans "http") dans votre app_domain et ensuite ajouter dans votre site_url http://localhost (avec http)

mise à Jour

Facebook changer les choses un peu maintenant, il suffit d'aller dans les paramètres de l'application et dans l'url du site juste ajouter http: //localhost et laisser le domaine App vide

25
répondu stalin 2014-05-14 19:29:12

voici ma configuration et cela fonctionne très bien pour L'API PHP:

domaine d'application

   http://localhost

URL du Site

   http://localhost:8082/
19
répondu tradmed 2014-07-21 23:33:44

NOTE: à partir de 2012 Facebook permet l'enregistrement de "localhost" comme Url de retour. Vous pouvez toujours avoir besoin d'une solution de contournement similaire pour D'autres fournisseurs (par exemple Microsoft one).

si vous avez besoin d'un vrai nom de domaine enregistré sur Facebook (comme my.really.own.domain.com) vous pouvez rediriger localement les requêtes vers ce domaine vers votre machine. L'approche la plus simple sur N'importe quel OS est de changer le fichier "hosts" pour mapper le domaine à 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 (sur Windows avec IIS local) - voir échantillons sur http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp .

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

fichier Hosts approche des approches ne fonctionne pas avec Visual Studio Serveur de développement car il nécessite des Urls entrantes pour être localhost / 127.0.0.1. Si vous avez besoin de travailler avec elle (ou peut-être avec IIS express) pour outrepasser hôte - en utilisant Fiddler avec IIS7 Express

19
répondu Alexei Levenkov 2017-05-23 12:10:48

Facebook n'autorise plus D'URL de rappel' localhost 'pour les applications Facebook FBML

9
répondu Sudantha 2010-12-26 04:29:49

avec le nouveau centre de développement il est maintenant plus facile:

1) laisser les domaines app Vierges.

2) Cliquez Sur Ajouter Plate-Forme

3) L'URL du Site doit être égale au chemin complet de votre hôte local.

4) Enregistrer Les Modifications

9
répondu JSV 2014-04-02 23:27:52

je viens de découvrir une solution: vous pouvez rendre votre machine locale accessible en utilisant http://localtunnel.com . Vous aurez besoin de (Temporairement) changer certaines URLs utilisées dans votre code app / html afin que les liens pointent vers le domaine temporaire, mais au moins facebook peut atteindre votre machine.

8
répondu M.G.Palmer 2011-12-16 14:23:53

dans les paramètres de base de votre application ( https://developers.facebook.com/apps ) sous Paramètres->Basic->sélectionnez comment votre application s'intègre à Facebook...

utiliser" L'URL du Site: "et" L'URL du Site Mobile: "pour contenir vos URL de production et de développement respectivement. Les deux sites seront autorisés à s'authentifier. J'utilise juste Facebook pour m'authentifier, donc je n'ai pas besoin des fonctionnalités de redirection du site mobile. Je change habituellement "L'URL du Site Mobile:" en mon site "localhost: 12345" pendant que je teste l'authentification, puis le remettre à la normale quand j'ai fini.

7
répondu Carter Medlin 2013-04-02 15:42:32

il y en a un ! Ma solution fonctionne lorsque vous créez une application, mais vous voulez utiliser l'authentification facebook sur votre site web. Cette solution ci-dessous N'est pas nécessaire lorsque vous voulez créer une application intégrée à la page FB.

la chose est que vous ne pouvez pas mettre" localhost " comme un domaine dans la page de configuration facebook de votre application. Des raisons de sécurité ?

vous devez aller à votre fichier host, dans OSX / Linux etc / hosts et ajouter la ligne suivante : 127.0.0.1 dev.yourdomain.com

le domaine que vous mettez tout ce que vous voulez. Une seule erreur est d'ajouter cette ligne : localhost dev.yourdomain.com (au moins sur osx léopard des neiges ne fonctionne pas).

alors vous devez vider votre cache dns. Sur OSX: tapez dscacheutil-flushcache dans le terminal. Enfin, retournez sur le site du développeur facebook en ligne, et dans la page de configuration de votre application, vous pouvez ajouter le domaine "dev.yourdomain.com".

si vous utilisez un programme tel que Mamp, Easyphp ou autre, assurez-vous que le port D'Apache est 80.

Cette solution devrait fonctionner pour Windows car il a également un fichier hosts. Néanmoins, pour 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
répondu MartinL 2013-03-14 08:18:53

vous devez choisir le produit Facebook 'facebook login' et activer Client de Connexion OAuth , Web de Connexion OAuth " et "Navigateur Intégré Connexion OAuth' alors même si vous donnez l'url localhost cela fonctionnera enter image description here

5
répondu Abhinav bhardwaj 2017-11-04 08:12:45

je pense que vous devriez être en mesure de développer des applications en utilisant le visual studio Development Web server: démarrer une nouvelle application FaceBook sur: http://www.facebook.com/developers / . Ensuite, définissez les paramètres de L'Url du site et de l'url de la toile à l'instance en cours d'exécution 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/

Espérons que cette aide.

3
répondu Vasile Laur 2010-12-26 05:56:38

supposons que vous ayez enregistré votre application comme:

app.domain.com

il suffit de modifier le fichier / etc / hosts en ajoutant

127.0.0.1 dev01.app.domain.com

puis, modifier votre configuration apache

ServerName dev01.app.domain.com

et redémarrez apache.

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

<fb:login-button registration-url="http://<?=$URL?>/register" />
2
répondu Juan Eduardo Castaño Nestares 2012-12-21 17:50:04

N'a pas assez de crédit pour commenter la réponse du haut voté, mais au moins dans mon environnement rails (running 4), rails s est à http://localhost:3000 , pas http://www.localhost:3000 . Quand je l'ai changé en http://localhost:3000 , ça a très bien marché. Pas besoin de modifier n'importe quel fichier hosts.

2
répondu Andrew Shenstone 2014-03-26 22:41:49

Essayez ceci ---

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

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

2 - Cliquez sur le bouton Paramètres sur le côté gauche de l'écran.

3-dans les paramètres de base, cliquez sur le bouton Ajouter plate-forme configuration des paramètres.

4 - Sélectionnez site web dans le dialogue plate-forme.

5-Saisissez votre URL (localhost fonctionne ici).

6 - dans L'application Domains text input, ajoutez votre domaine qui correspond à celui de L'URL.

7 - Enregistrez vos paramètres.

2
répondu Snm Maurya 2017-05-08 11:05:54

Essayez ce qui suit:

https://ngrok.com /

ça a marché pour moi...

1
répondu Surender Lohia 2017-01-31 09:36:32

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

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

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

1
répondu Ja Austin 2018-06-27 03:26:15

ma Solution fonctionne très bien à localhost..... Pour les URLS du Site utiliser http://localhost/ et pour L'utilisation des domaines App localhost/folder_name Reste tout est identique .......il fonctionne très bien (bien que son montre redflag dans le domaine App..L'App fonctionne bien)

0
répondu fab 2014-04-24 14:13:16

app domain : localhost

site URL : http://localhost:4440/

a travaillé pour moi avec la nouvelle interface.

0
répondu sftsz 2017-01-18 11:58:34