wie kann ich auf localhost während der Entwicklung von facebook-graph-website?
ich möchten, verwenden Sie "localhost" für die Entwicklung der website, facebook-Anwendung mit der graph api.
ich arbeite in asp.net c#
in der bisherigen api von facebook war ich abe zu schreiben
http://localhost:4300/ in der connect-url, auf die Einstellungen der Anwendung.
nun ist es dosent Arbeit.
es sagt mir,
Ein Fehler mit dem Namen der Anwendung. Bitte versuchen Sie es später erneut.
jemand Vorschläge ?
* * * * * wenn ich den upload auf die website, und die website coonect-url, funktioniert es.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Facebook kümmert sich nicht, was die tatsächliche IP-Adresse Ihres Servers befindet sich bei - aber es wird überprüfen Sie, dass der domain-name der verweisenden Seite ist die gleiche wie die domain, die Sie registriert bei facebook. Der trick, um bekommen es zu arbeiten während der Entwicklung ist es, einen Weg finden, um Ihren domain-Namen, auch wenn Sie gerade arbeiten auf Ihrem lokalen Rechner für die Entwicklung.
Wenn Sie die volle Kontrolle über Ihre DNS-Einträge fügen Sie einen host-Eintrag (z.B. 'test.yourdomain.com' ) die entweder Punkte an die echte IP-Adresse Ihres Entwicklungs-Maschine (wenn es eine statische ip), oder einfach auf 127.0.0.1
Wenn Sie nicht haben Zugriff auf Ihre DNS-dann ist die einfachste Möglichkeit, um diese während der Entwicklung ist es, einfach einen Eintrag hinzufügen auf Ihrem computer die hosts-Datei ('/etc/hosts' auf OSX und den meisten anderen unix-Rechnern) auf die domain, die Sie registriert auf facebook zu Ihrem lokalen host Maschine. damit würdest du eine Zeile wie diese :
dem Ende der hosts-Datei. Das bedeutet, dass wenn Sie jetzt die EINGABETASTE test.yourdomain.com in Ihrem web-browser wird aufgelöst auf Ihrem lokalen Rechner.
Nun - in der "web site" - Abschnitt des setup Ihrer Anwendung in Facebook stellen Sie sicher, dass Sie Hinzugefügt haben, Ihre domain-Namen auf den "Website-domain" Abschnitt von der Einstellung - wird dies bedeuten, dass facebook akzeptiert Anfragen von jedem beliebigen subdomain Ihrer domain - mit anderen Worten, wird es akzeptieren Anfragen von beiden "www.yourdomain.com" (Ihre Produktions-server) und "test.yourdomain.com" (Ihrem lokalen Entwicklungscomputer).
Nun sollten Sie nur in der Lage sein zu entwickeln, die auf dem lokalen Computer mit der "test.yourdomain.com" url in Ihren browser ein, anstatt "localhost", und alles sollte funktionieren.
ACH - noch eins - die facebook-redirect-uri wird müssen auch eine port-Nummer, wenn Sie Ihre Entwicklungs-server läuft nicht auf port 80, aber es enthält diese port-Nummer bei der Anpassung der domain-url (ehrlich gesagt, ich halte dies für einen bug in der facebook-APIs). Dies bedeutet, dass wenn Ihr development server ist (zum Beispiel) läuft auf port 8080, dann müssen Sie hinzufügen": 8080 " an das Ende der hostname in der redirect-URI, aber wenn Sie Ihre Produktionen server ist läuft auf port 80 dann sollte nicht setzen ":80" in der redirect-uri, weil sonst wird das hier nur funktionieren, wenn die Menschen explizit die port-Nummer in der URL, die Sie verwendet, um den Blick auf Ihre Seite (unwahrscheinlich in einem Produktions-server). Was dies alles bedeutet in der Praxis, dass Sie nur eine bedingte, so dass bei der Erstellung der facebook-Authentifizierung-URL, die Sie enthalten nur die port-Nummer, wenn es nicht port 80.
Fügen Sie "localhost", um die "App Domain" Einstellung der app auf Facebook. Auch, wenn Sie etwas wie Umleitung "MyApp.test" auf 127.0.0.1 auf dem lokalen server können Sie auch hinzufügen, "MyApp.test", um die "App Domain" und es wird funktionieren.
Ich habe gerade versucht dies nach der Suche nach einer Lösung für dieses problem. Es ist eine sehr einfache Lösung.
Überprüfen Sie die folgenden Grundlegenden Einstellungen in der app Facebook-Konfiguration:
Wenn Sie eine "application-name" Fehler beim speichern der app-Konfiguration-Einstellungen sind Sie sicher, dass der name der app gültig ist und nicht schon zuvor? Wir verwenden Sie "localhost" (mit ASP.Net, IISExpress, und eine sehr hohe port-Nummern) die ganze Zeit mit vier oder fünf verschiedenen Anwendungen mit mehreren Benutzern auf verschiedenen Rechnern und nie tun müssen, um die zusätzlichen Schritte, die einige Leute beschrieben haben, in Ihre Antworten.
EDIT: nach erneutem Lesen der anderen Antworten, die ich vermute, dass einige Entwickler entwickeln auf der gleichen Facebook-app, da Sie für die Produktion, so müssen Sie zum anzeigen Ihrer Maschine, um die Produktion Domäne? Wir tun das nicht, wir haben zwei "apps". Einer ist für die Prüfung mit der localhost-Konfiguration und eine für die Produktion. Wir haben eine Komponente, die bestimmt zur Laufzeit die Umgebung, in der er in und erstellt alle notwendigen URLs wie OAuth leitet mit App-id und App-Geheimnisse, so dass wir immer läuft der gleiche code, nur andere Konfiguration eingesetzt, die auf verschiedenen Servern.
Sind Sie sicher, dass problem mit der DNS-name und/oder der port des web-Servers?
Wenn ja, Sie können mit Ihrem lokalen IIS anstelle des webdev-server, konfigurieren eine website yourdomain.com und fügen Sie einen Eintrag in der hosts sagen
127.0.0.1 yourdomain.com
Wenn ich das richtig verstehe, was Sie versuchen zu tun, und sind die Einstellungen der Anwendung auf der Facebook-website, Facebook wird nicht in der Lage sein, um verbinden Sie Ihren computer mit 'localhost'. Die IP-Adresse Ihres Computers und geben Sie in der Anwendung Einstellungen Seite.
Finden Sie Ihre IP -: http://whatismyipaddress.com/
Müssen Sie einen ssh-tunnel VON develop-server AUF Ihrem localhost computer. Jede Anfrage an dev-server verarbeitet werden, wird durch Ihren computer und zurück zu senden.
Können Sie keine top-level-domains auf Facebook Einstellung FYI