Running Facebook application sur localhost
Je suis la planification pour vous connecter à Facebook chat de mon localhost. Je besoin pour obtenir la clé de session à partir de Facebook. Quand je donne l'URL du site que localhost:8080
ou ip-address:8080
il ne fonctionne pas.
J'ai lu sur la mise en place de deux applications avec 2 clés API, on exécute sur dev m/c, et les autres sur localhost, mais je n'ai pas tout à fait le faire.
Quelqu'un peut-il expliquer comment exécuter un Facebook app sur localhost?
- Êtes-vous essayer de créer un bureau facebook application de chat?
- oui...j'ai envie de frapper le facebook du serveur de ma m/c...vu un post sur le même sujet ici stackoverflow.com/questions/1877913/... j'din obtenir...
- Si vous voulez en créer un, vous n'avez pas mentionné le langage de programmation que vous allez utiliser ?
- k i ll donner u le cas d'utilisation...je vha à intégrer fb chat dans mon application à l'aide de jquery nd javascript seulement...ll uniquement côté client de codage...
- J'ai écrit un tutoriel à ce sujet.
- Veuillez utiliser correctement la ponctuation et de l'orthographe dans votre communication.
- Pour l'utilisation de HTTPS sur votre localhost, voir ma réponse sur l'utilisation de stunnel ici
- double possible de Facebook de développement en localhost
Vous devez vous connecter pour publier un commentaire.
J'ai écrit un tutoriel sur ce il ya un moment.
Le point le plus important est le "URL du Site":
Où la structure de dossiers est quelque chose comme:
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 deviner 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
):Et sur votre localhost root répertoire, le fichier
test.php
: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 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!
http://localhost:8080/auth/index.html
et la page web qui donne l'erreur esthttp://localhost:8080/auth/index.html
et la channelurl ligne est:channelUrl : '//localhost:8080/auth/channel.html',
si vous utilisez localhost:
dans Facebook-->Paramètres>de Base,
dans le champ d'Application des Domaines" écrire "localhost",
cliquez ensuite sur "+Ajouter une Plate-forme de" choisir "Site Web",
il va créer deux champs "URL du Site Mobile" et "URL du Site",
dans "URL du Site" écrire "localhost".
fonctionne pour moi.
Vous pouvez aussi éditer le fichier hosts, et de créer de la variation locale de votre domaine.
Exemple
Si votre facebook adresse de l'application est "example.com" vous pouvez créer des "localhost.example.com" (accessible uniquement à partir de votre pc) de domaine dans votre fichier "hosts" en évoquant des "localhost" et de lancer votre site web local dans ce domaine.
Vous pouvez tromper Facebook de cette façon.
C:/Windows/System32/drivers/etc/hosts
ou sur Ubuntu à/etc/hosts
Dans votre application réglages de base (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.
Août 2013.
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 de tunnel de votre
localhost:port
de domaine approprié.Rails les développeurs peuvent utiliser http://progrium.com/localtunnel/ gratuitement.
J'ai donc eu que cela fonctionne aujourd'hui. Mon URL est
http://localhost:8888
. Le domaine que j'ai donné facebook est localhost. Je pensais que ça ne fonctionnait pas parce que j'ai essayé d'extraire les données à l'aide de laFB.api
méthode. J'ai gardé sur l'obtention d'un "undefined" nom et une image sans source, donc certainement n'ont pas accès à la représentation Graphique.Plus tard, j'ai réalisé que mon problème est vraiment que je n'avais que le passage d'un premier argument de
/me
àFB.api
, et je n'ai pas de jeton. Ainsi, vous aurez besoin d'utiliser laFB.getLoginStatus
fonction pour obtenir un jeton, qui devraient être ajoutées à la/me
argument.il suffit de spécifier votre toile url http://localhost/app_path.
Ok je ne suis pas sûr que ces réponses mais je vais vous laisser savoir ce qui a fonctionné pour moi comme conseillé par un haut dev à mon travail. Je travaille dans Ruby on Rails et à l'aide de Facebook du code JavaScript pour obtenir des jetons d'accès.
Problème: Pour faire de l'authentification, de Facebook est de prendre l'url de votre barre d'adresse et en comparant avec ce qu'ils ont sur fichier. Ils ne vous autorisent pas à utiliser
localhost:3000
pour quelque raison que ce soit. Toutefois, vous pouvez utiliser un tout composé de nom de domaine commeyoursite.dev
en exécutant un serveur local et en pointantyoursite.dev
à127.0.0.1:3000
ou partout où votre localhost a été pointant vers.Étape 1: Installer ou mettre à jour Nginx
$ brew install nginx
(installer) ou$ brew upgrade nginx
(mise à jour)Étape 2: Ouvrez votre fichier de configuration de nginx
/usr/local/etc/nginx/nginx.conf
(surtout ici)/opt/boxen/config/nginx/nginx.conf
(si vous utilisez Boxen)Étape 3 Ajouter ce bout de code dans votre
http {}
blocRemplacer
proxy_pass
avec vous partout où vous le voulez pointyoursite.dev
pour. Dans mon cas, c'était de remplacer localhost:3000 ou l'équivalent127.0.0.1:3000
Étape 4: Modifier votre fichier hosts, en
/etc/hosts
sur Mac pour inclureCe fichier dirige les domaines de localhost. Nginx est à l'écoute sur localhost et redirige si elle correspond à une règle.
Étape 5: Chaque fois que vous utilisez votre environnement de dev aller de l'avant, vous utilisez le
yoursite.dev
dans la barre d'adresse au lieu delocalhost:3000
si Facebook se connecte correctement.De l'avant est un excellent outil pour aider avec le développement de facebook apps localement, il prend en charge le protocole SSL afin de le cert chose n'est pas un problème.
https://forwardhq.com/in-use/facebook
DISCLAIMER: je suis l'un des développeurs
Vous avez besoin pour l'installation de votre application de fonctionner sur https pour localhost
Vous pouvez suivre les étapes indiquées dans cette configuration HTTPS sur ubuntu
https://www.digitalocean.com/community/articles/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-12-04
Vous devez faire les étapes suivantes:
installer apache (si vous n'avez pas)
Étape Un—Activer le Module SSL
Étape Deux—Créer un Nouveau Répertoire
Étape Trois—Créer un Certificat SSL Auto-Signé
Avec cette commande, nous allons être à la fois de la création du certificat SSL auto-signé et de la clé du serveur qui le protège, et en plaçant les deux d'entre eux dans le nouveau répertoire.
Le plus important est "Nom Commun". Saisissez votre nom de domaine officiel ici ou, si vous n'en avez pas encore, de votre site à l'adresse IP.
Étape Quatre—mettre en Place le Certificat
Trouver les lignes suivantes et de modifier les avec vos paramètres
Étape Cinq—Activer le Nouvel Hôte Virtuel
Un truc:
Utilisation MAMPPRO et de créer:
nom du serveur: l'adresse EXACTE de votre site (par exemple: helloworld.com)
de votre site sur votre disque
Sur Facebook:
Vous pouvez donc conserver l'original de votre Site URL (par exemple: helloworld.com)
Maintenant, vous comprenez que lorsque vous tapez votre site web, dans la barre d'adresse vous êtes dans local!
..et si vous voulez en ligne, juste inactif le serveur MAMP PRO..
🙂
Aucune des réponses ci-dessus a fonctionné pour moi. Je suis en cours d'exécution sur FB API 2.5. La mienne était une combinaison de problèmes qui conduisent à la réussite, une fois résolues,
tels et peuvent être désactivées lorsque vous allez vivre
IP actuelle est
http://localhost.mydomain.com qui pointe sur mon IP actuelle
Ce n'est probablement pas idéal comme IP Dynamique du changement et on pourrait sans doute utiliser DynDNS ou quelque chose de similaire pour faire de la propriété intellectuelle plus "statique", mais il a travaillé pour moi
Dans mon cas, la question qui se révèlent être de chrome de blocage de la SCRO demande à partir de localhost:4200 à facebook api site web.
L'exécution de Chrome avec ce paramètre: "YOUR_PATH_TO_CHROME\Google\Chrome\Application\chrome.exe" --disable-web-sécurité --user-data-dir="c:/chrome
a travaillé comme un charme en développement. Même sans localhost ajouté à facebook de l'application paramètres.