184 votes

Développement de Facebook en localhost

Je voulais juste savoir s'il y avait un moyen de développer des applications Facebook en localhost.

247voto

Eric Hu Points 7388

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

Je trouve qu'il est plus évolutif et plus pratique de mettre en place une deuxième application Facebook. Si je construis MyApp, alors j'en créerai une deuxième appelée MyApp-dev.

  • Créez une nouvelle application à https://developers.facebook.com/apps
  • (Nouveau 15/02/2012) Cliquez sur le bouton Website la case à cocher sous "Sélectionnez la manière dont votre application s'intègre à Facebook". (Dans la version récente de Facebook, vous pouvez la trouver sous Paramètres > Basique > Ajouter une plateforme - puis sélectionner le site web).
  • Définissez le URL du site champ ( PAS le champ App Domains ) à http://www.localhost:3000 (cette adresse est pour Ruby on Rails, à modifier si nécessaire)

enter image description here

  • Dans l'initialisateur de votre application, mettez du code pour détecter l'environnement.
    • Exemple de code Rails 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'il est configuré, les collègues et les autres machines n'ont pas de configuration supplémentaire.

3 votes

+1ed C'est étrange ! Les gens disent que vous ne pouvez pas ajouter le localhost comme url de votre application. Mais cela fonctionne tout simplement pour moi. Merci !

15 votes

Est-ce toujours le cas pour vous ? Je ne semble pas être en mesure d'ajouter localhost, ou 127.0.0.1:5000 ou quoi que ce soit de similaire à mon domaine d'application pour Facebook.

0 votes

Je viens d'essayer d'en créer un nouveau et j'ai rencontré un problème de "domaine non valide". Merci d'avoir trouvé la solution

27voto

stalin Points 414

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

Mise à 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 il faut ajouter http: //localhost et laissez le domaine d'application vide

0 votes

Cela fonctionne totalement. Il n'y a rien à faire de notre côté de la barrière.

11 votes

Cela ne fonctionne plus, vous obtenez l'erreur "can't add top level domains".

20voto

tradmed Points 11

Voici ma configuration et elle fonctionne bien pour l'API PHP :

domaine des applications

   http://localhost

URL du site

   http://localhost:8082/

1 votes

J'ai dû remplir ces deux champs pour que localhost fonctionne.

19voto

Alexei Levenkov Points 49945

REMARQUE : Depuis 2012, Facebook autorise 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, celui de Microsoft).

Si vous avez besoin d'un vrai nom de domaine enregistré auprès de 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 système d'exploitation est de modifier le fichier "hosts" pour faire correspondre le domaine à 127.0.0.1 (cf. http://technet.microsoft.com/en-us/library/bb727005.aspx#EDAA y https://serverfault.com/questions/118290/cname-record-alias-in-Windows-hosts-file ).

J'utilise habituellement Fiddler pour le faire à ma place (sous Windows avec IIS local) - voir les échantillons sur http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp .

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

L'approche des fichiers d'hôtes ne fonctionne pas avec Visual Studio Development Server car elle exige que les urls entrantes soient localhost/127.0.0.1. Si vous avez besoin de travailler avec lui (ou éventuellement avec IIS express) pour remplacer l'hôte - Utilisation de Fiddler avec IIS7 Express

9voto

Sudantha Points 2907

Facebook n'autorise plus l'utilisation d'une URL de rappel "localhost" pour les applications Facebook FBML.

0 votes

Assurez-vous que dans vos paramètres de sécurité Facebook, vous avez désactivé la fonction "Navigation sécurisée". Cela rendra votre serveur local indisponible s'il est activé.

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