Ich wollte nur wissen, ob ich Facebook-Anwendungen in localhost entwickeln kann.
Edit: 15.02.2012 So verwenden Sie die FB-Authentifizierung für eine localhost-Website.
Ich finde es skalierbarer und bequemer, eine zweite Facebook-App einzurichten. Wenn ich MyApp baue, mache ich eine zweite namens MyApp-dev.
Website
unter 'Wählen Sie aus, wie Ihre Anwendung in Facebook integriert werden soll' (In der aktuellen Facebook-Version finden Sie diese unter Einstellungen> Grundeinstellungen> Plattform hinzufügen - Wählen Sie dann Website )wenn Rails.env == 'Entwicklung' || Rails.env == 'test' Rails.application.config.middleware.use OmniAuth :: Builder do Anbieter: facebook, 'DEV_APP_ID', 'DEV_APP_SECRET' Ende sonst # Produktion Rails.application.config.middleware.use OmniAuth :: Builder do Anbieter: Facebook, 'PRODUCTION_APP_ID', 'PRODUCTION_APP_SECRET' Ende Ende
Ich bevorzuge diese Methode, weil Kollegen und andere Maschinen nach der Einrichtung keine zusätzlichen Einstellungen benötigen.
Natürlich können Sie einfach die URL localhost (ohne "http") in Ihre app_domain einfügen und dann Ihren site_url http://localhost
(mit http) hinzufügen.
Update
Facebook ändert die Dinge jetzt ein wenig, gehen Sie einfach zu den App-Einstellungen und fügen Sie in der Site-URL http: //localhost
hinzu und lassen Sie die App-Domain leer
Hier ist meine Konfiguration und es funktioniert gut für PHP API:
app-Domain
http://localhost
Seiten-URL
http://localhost:8082/
HINWEIS: Ab 2012 erlaubt Facebook die Registrierung von "localhost" als Rückgabe-URL. Möglicherweise benötigen Sie eine ähnliche Problemumgehung für andere Anbieter (z. B. Microsoft).
Wenn Sie einen echten bei Facebook registrierten Domainnamen (wie my.really.own.domain.com) benötigen, können Sie Anfragen an diese Domain lokal an Ihren Computer umleiten. Der einfachste Ansatz für jedes Betriebssystem ist das Ändern der "hosts" -Datei, um die Domäne auf 127.0.0.1 zuzuordnen (siehe http://technet.Microsoft.com/en-us/library/bb727005.aspx#EDAA . und https://serverfault.com/questions/118290/cname-record-alias-in-windows-hosts-file ).
Normalerweise verwende ich Fiddler für mich (unter Windows mit lokalem IIS) - siehe Beispiele unter http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp .
if (oSession.HostnameIs("my.really.own.domain.com")) {
oSession.Host="localhost:80";
}
Die Herangehensweise von Ansätzen für Ansätze funktioniert nicht mit Visual Studio Development Server, da eingehende URLs localhost/127.0.0.1 sein müssen. Wenn Sie damit arbeiten müssen (oder möglicherweise mit IIS express), um Host - Fiddler mit IIS7 Express zu überschreiben
Facebook hat keine "localhost" Callback-URL mehr für FBML-Facebook-Anwendungen zugelassen
Mit dem neuen Entwicklungszentrum ist es jetzt einfacher:
1) Lassen Sie App-Domains leer.
2) Klicken Sie auf Plattform hinzufügen
3) Die Site-URL sollte dem vollständigen Pfad Ihres lokalen Hosts entsprechen.
4) Änderungen speichern
Ich habe gerade eine Problemumgehung entdeckt: Sie können Ihren lokalen Computer mit http://localtunnel.com zugänglich machen. Sie müssen einige der in Ihrem App-Code/html verwendeten URLs (vorübergehend) ändern, sodass Links auf die temporäre Domäne verweisen, aber Facebook kann Ihren Computer zumindest erreichen.
In den Grundeinstellungen Ihrer App ( https://developers.facebook.com/apps ) Unter Einstellungen-> Basis-> Wählen Sie aus, wie Ihre App in Facebook integriert werden soll ...
Verwenden Sie "Site URL:" und "Mobile Site URL:", um Ihre Produktions- bzw. Entwicklungs-URLs zu speichern. Beide Sites können sich authentifizieren. Ich verwende nur Facebook zur Authentifizierung, daher brauche ich keine Funktionen zur Umleitung mobiler Websites. Normalerweise ändere ich die "Mobile Site URL:" in meine "localhost: 12345" -Site, während ich die Authentifizierung teste, und setze sie anschließend wieder auf "Normal".
Es gibt ! Meine Lösung funktioniert, wenn Sie eine App erstellen, die Facebook-Authentifizierung jedoch auf Ihrer Website verwendet werden soll. Diese Lösung ist NICHT erforderlich, wenn Sie eine in die FB-Seite integrierte App erstellen möchten.
Die Sache ist, dass Sie "localhost" nicht als Domain in die Facebook-Konfigurationsseite Ihrer App einfügen können. Sicherheits Gründe ?
Sie müssen zu Ihrer Host-Datei in OSX/Linux etc/hosts gehen und die folgende Zeile hinzufügen: 127.0.0.1 dev.ihredomain.com
Die Domain, die Sie setzen, was Sie wollen. Ein Fehler ist das Hinzufügen dieser Zeile: Localhost dev.yourdomain.com (zumindest bei osx snow leopard funktioniert dies nicht).
Dann müssen Sie Ihren DNS-Cache leeren. Unter OSX: Geben Sie dscacheutil -flushcache in das Terminal ein. Gehen Sie schließlich zurück zur Online-Entwickler-Website von Facebook. In der Konfigurationsseite Ihrer App können Sie die Domäne "dev.ihredomain.com" hinzufügen .
Wenn Sie ein Programm wie Mamp, Easyphp oder ähnliches verwenden, stellen Sie sicher, dass der Port für Apache 80 ist.
Diese Lösung sollte für Windows funktionieren, da sie auch über eine hosts-Datei verfügt. Soweit ich mich erinnere, verwendet Windows 7 diese Datei nicht mehr, aber dieser Trick sollte funktionieren, wenn Sie einen Weg finden, Windows dazu zu zwingen, eine hosts-Datei zu verwenden.
Versuche dies ---
https://www.facebook.com/help/community/question/?id=589302607826562
1 - Klicken Sie auf Apps und wählen Sie Ihre App aus.
2 - Klicken Sie auf die Schaltfläche Einstellungen auf der linken Seite des Bildschirms.
3 - Klicken Sie in den Grundeinstellungen unter der Konfigurationseinstellung Auf die Schaltfläche Plattform hinzufügen.
4 - Wählen Sie im Plattformdialogfeld Website aus.
5 - Geben Sie Ihre URL ein (localhost funktioniert hier).
6 - Fügen Sie in der Texteingabe der App Domains Ihre Domain hinzu, die der URL in der URL entspricht.
7 - Speichern Sie Ihre Einstellungen.
Ich denke, Sie sollten in der Lage sein, Anwendungen mit dem Visual Studio Development-Webserver zu entwickeln: Starten Sie eine neue FaceBook-Anwendung unter: http://www.facebook.com/developers/ . Legen Sie dann die Einstellungen für die Site-URL und die Canvas-URL auf die ausgeführte Instanz Ihrer Website fest, z. B. http: // localhost: 1062 /
Hier sind ein paar Links, die Ihnen helfen sollten, mit FaceBook zu beginnen:
Hoffe das hilft.
Angenommen, Sie haben Ihre App als registriert:
app.domain.com
Sie müssen lediglich die Datei/etc/hosts durch Hinzufügen ändern
127.0.0.1 dev01.app.domain.com
Ändern Sie dann Ihre Apache-Konfiguration
ServerName dev01.app.domain.com
und starten Sie Apache neu.
Sie müssen Ihre URL in eine Variable einfügen, um sie bei einigen Aufrufen als XML-Parameter verwenden zu können:
<fb:login-button registration-url="http://<?=$URL?>/register" />
Ich habe nicht genug Kredit, um die am besten gewählte Antwort zu kommentieren, aber zumindest in meiner Rails-Umgebung (Lauf 4) ist Rails s bei http://localhost:3000
und nicht bei http://www.localhost:3000
. Als ich es in http://localhost:3000
änderte, funktionierte es einwandfrei. Sie müssen keine Hosts-Datei bearbeiten.
dies funktioniert im Juni 2018, auch nach der HTTPS-Anforderung. Es scheint, dass eine Test-App kein https benötigt:
erstellen Sie eine Test-App: https://developers.facebook.com/docs/apps/test-apps/
befolgen Sie anschließend in der Test-App die einfachen Schritte dieses Videos: https://www.youtube.com/watch?v=7DuRvf7Jtkg
Gehen Sie einfach zum App-Dashboard unter den Facebook-Login-Registerkarteneinstellungen Wählen Sie dann HTTP erzwingen aus. Nein, Einstellungen speichern .
app domain : localhost
site URL : http://localhost:4440/
arbeitete für mich mit der neuen Benutzeroberfläche.
Meine Lösung funktioniert gut in localhost ......__ Für Site URLS verwenden Sie http://localhost/
Und für App-Domains localhost/folder_name
Rest Seine Shows redflag in App Domain..App funktioniert einwandfrei)
Letztes Update: Sie müssen keine URLs angeben, wenn Sie es in der Entwicklung testen. Sie können die Felder leer lassen. Stellen Sie sicher, dass sich Ihre App im Entwicklungsmodus befindet. Wenn nicht, deaktivieren Sie den Status von Live.
Es ist nicht erforderlich, eine Website-URL, App-Domains oder eine gültige Weiterleitungs-URL anzugeben.
Die Anwendung wird in localhost problemlos ausgeführt: 3000, Sie müssen lediglich die https-Adresse angeben, unter der die Anwendung aktiv sein soll, wenn sie sich im Produktionsmodus befindet.
Option 2 bietet die URL oder Ihre Heroku-Website, auf der Sie eine Beispielanwendung im Produktionsmodus haben können.