92 votes

Exécution d'une application Facebook sur localhost

Je prévois de me connecter au chat Facebook depuis mon hôte local. J'aurai besoin de la clé de session de Facebook. Quand je donne l'URL du site comme localhost: 8080 ou ip-address: 8080, cela ne fonctionne pas. J'ai lu des informations sur la configuration de deux applications avec deux clés d'API différentes, l'une fonctionnant sur dev m / c et l'autre sur localhost. Je n'ai tout à fait pas compris.

Quelqu'un peut-il expliquer comment utiliser une application Facebook sur localhost?

77voto

ifaour Points 29213

J'ai écrit un tutoriel sur ça il y a longtemps.

Le point le plus important est le "URL du Site":

URL du Site: http://localhost/app_name/

Lorsque la structure de dossier est quelque chose comme:

app_name
¦   index.php
¦
+---canvas
¦   ¦   index.php
¦   ¦
¦   +---css
¦           main.css
¦           reset.css
¦
+---src
        facebook.php
        fb_ca_chain_bundle.crt

EDIT:
Kavya: comment la FB server reconnaître mon localhost, même sans une IP ou un port??

Je ne pense pas que cela n'a rien à voir avec Facebook, je suppose que depuis l'iframe src paramètre est chargé à partir du côté client, il va traiter votre local URL que si vous le mettez directement sur votre navigateur.

Par exemple avoir un fichier sur votre serveur en ligne avec le contenu (par exemple, online.php):

<iframe src="http://localhost/test.php" width="100%" height="100%">
    <p>Not supported!</p>
</iframe>

Et sur votre localhost root le fichier test.php:

<?php echo "Hello from Localhost!"; ?>

Maintenant visiter, http://your_domain.com/online.php vous verrez votre localhost contenu du fichier!

C'est pourquoi en temps réel des abonnements et de supprimer l'autorisation de rappels (pour ne citer) ne pas travailler avec localhost Url! parce que Facebook va ping (envoyer des requêtes http) pour ces Url, mais évidemment Facebook serveur de ne pas traduire ces Url à la vôtre!

J'espère que vous avez compris l'idée.

29voto

user3649420 Points 61

si vous utilisez localhost:

dans Facebook -> Paramètres -> Basique, dans le champ "Domaines de l'application", écrivez "localhost", puis cliquez sur "+ Ajouter une plate-forme", choisissez "Site Web",

il créera deux champs "URL du site mobile" et "URL du site", dans "URL du site", écrivez à nouveau "localhost".

travaille pour moi.

23voto

Vous pouvez également modifier le fichier 'hôtes' et créer une variante locale de votre domaine.

Exemple

Si votre adresse d'application Facebook réelle est "exemple.com", vous pouvez créer un domaine "localhost.example.com" (accessible uniquement à partir de votre ordinateur) dans votre fichier "hôtes" pointant vers "localhost" et exécuter votre site Web local sous ce domaine. Vous pouvez tromper Facebook de cette façon.

7voto

Carter Points 3877

Dans votre application de base de paramètres (https://developers.facebook.com/apps) sous Paramètres->Base->Sélectionnez la façon dont votre application s'intègre à Facebook...

Utiliser "URL du Site:" et "URL du Site Mobile:" pour tenir votre production et de développement de l'Url. Les deux sites seront autorisés à s'authentifier. Je suis juste en utilisant Facebook pour l'authentification, donc je n'ai pas besoin de le site mobile fonctions de redirection. J'ai l'habitude de changer de Mobile "URL du Site:" à mon "localhost:12345" site alors que je suis en essais de l'authentification, puis revenir à la normale quand je suis fait.

6voto

Gediminas Points 647

2013 août. Facebook ne permet pas de définir de domaine avec le port d'une Application, comme par exemple "localhost:3000".

De sorte que vous pouvez utiliser https://pagekite.net pour tunnel de votre localhost:port de domaine approprié.

Rails les développeurs peuvent utiliser http://progrium.com/localtunnel/ pour gratuit.

  • Facebook permet à un seul domaine d'Application à l'époque. Si vous essayez d'ajouter un autre, comme localhost, il va montrer une sorte d'erreur différent sur le domaine. Assurez-vous d'utiliser un seul domaine pour rappel, et pour le domaine de l'application configuration à l'époque.

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