Développement de Facebook à localhost
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)
- 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
- exemple de Rails code 3
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.
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
voici ma configuration et cela fonctionne très bien pour L'API PHP:
domaine d'application
http://localhost
URL du Site
http://localhost:8082/
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
Facebook n'autorise plus D'URL de rappel' localhost 'pour les applications Facebook FBML
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
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.
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.
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.
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
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:
- http://thinkdiff.net/facebook/graph-api-iframe-base-facebook-application-development / ,
- http://nagbaba.blogspot.com/2010/05/experiencing-facebook-javascript-sdk.html ,
- http://apps.facebook.com/thinkdiffdemo/
Espérons que cette aide.
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" />
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.
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.
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
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)
app domain : localhost
site URL : http://localhost:4440/
a travaillé pour moi avec la nouvelle interface.