Ich schreibe eine Desktop-Anwendung, um mit Facebook zu interagieren, indem ich einen eingebetteten Browser verwende, der HTML \ javascript aus lokalen Dateien ausführt.
Ich konnte den Anmeldedialog verwenden, um ein Token abzurufen (mit der Methode, die in der Facebook-Dokumentation beschrieben wird) Desktop-Anwendungen), aber ich bin immer noch nicht in der Lage, grundlegende SDK-Funktionen wie FB.init () und FB.getLoginStatus () aufzurufen.
Beim Ausführen von FB.init () :
%Vor%Ich bekomme die HTTP-Antwort (über HTTP-Sniffer):
%Vor%Und wenn FB.getLoginStatus () ausgeführt wird:
%Vor%Ich bekomme nichts!
Die Anwendung ist vollständig clientbasiert, dh ich habe keine Serverseite, daher gibt es keine URL, um die Facebook-Anwendung zu registrieren. Laufen auf IE.
Weiß jemand, ob und wie ich das Facebook Javascript SDK von einer lokalen Javascript-Datei (für Desktop-Anwendung) verwenden kann?
BEARBEITEN: Konfigurieren der Anwendungs-URL als Ссылка ist keine gültige Option, da dieses Skript möglicherweise ausgeführt werden kann auf jedem Rechner, ob localhost konfiguriert ist oder nicht.
Danke.
Verwandte:
Das JS SDK wurde für die Verwendung auf Websites entwickelt (per Definition bereitgestellt und über http oder https zugänglich), und wir beabsichtigen nicht, die Verwendung von file: oder anderen Protokollen zu unterstützen. Dies ist konsistent mit Plugins im Allgemeinen, wo http / https-URIs als Bezeichner verwendbar sind (unter anderem Open Graph), aber wo Datei: // URIs nicht sind.
Sie können versuchen, das SDK in einem Web-zugänglichen Dokument zu initialisieren, einschließlich eines iframe - Hinweises, dass Sie Logik hinzufügen müssen, um eine korrekte Größenänderung sicherzustellen.
Als Antwort auf einen Facebook-Fehlerbericht .
Da Sie erwähnt haben, dass Sie einen eingebetteten Browser in Ihrer Desktop-App haben, können Sie in diesem Fall die Seite der App mit facebook-bezogenen Funktionen über das Web hosten und die URL dieser Seite in Ihrem eingebetteten Browser ablegen. Auf diese Weise können Sie eine gültige Domain in den Einstellungen der App und nicht localhost bereitstellen. Sie können auch gültige Aufrufe von Facebook-APIs von Ihrer Seite aus tätigen und Ihre Desktop-App kann dann alle diese facebook-bezogenen Daten verwenden, während sie in Ihren eingebetteten Browser gezogen werden.
Kurz gesagt, ähnelt Ihre Desktop-App der Oberfläche von Facebook, auf der die Seite der App gezogen und in der Zeichenfläche angezeigt wird. In Ihrem Fall haben Sie jedoch eine vollständige Kontrolle darüber, wie, wann, wo und welche Teile der Seite angezeigt werden und eine gut gegliederte und gut strukturierte Benutzeroberfläche sorgt dafür, dass die externe Seite und die Desktop-App miteinander verschmelzen und die Nutzer nie kommen kenne den Unterschied.
Da ich keine akzeptable Antwort hier habe, sind meine Erkenntnisse und was ich gemacht habe:
Es gibt keine Möglichkeit, das Facebook-SDK auf der lokalen Seite wegen domainübergreifender Ajax-Probleme zu verwenden.
Der Weg, um es zu umgehen, ist die Verwendung von JSONP Ajax Anrufe auf Facebook Graph API (JSONP ist für Cross-Domain erlaubt).
Der Anmeldevorgang erfolgt durch Navigation (in einem neuen Fenster) zur Anmeldeseite mit spezifischen URL-Parametern zum Festlegen der Seitenattribute.
Wenn Sie PhoneGap 1.0 und Xcode 4 verwenden, folgen Sie zuerst diesen Anweisungen: Ссылка
Meine Installation sieht folgendermaßen aus: Ссылка
Achten Sie darauf, die Datei ChildBrowser.js aus dem Ordner plugins und in das Stammverzeichnis Ihres www-Ordners zu verschieben. Stellen Sie außerdem sicher, dass Sie in der Datei index.html eine Verknüpfung zu diesem ChildBrowser.js herstellen.
Folgen Sie dann diesen 3 Schritten, Ссылка
Zuletzt aktualisieren Sie Ihre PhoneGap.plist-Datei wie in diesem Beitrag erwähnt: Ссылка , meins sieht aus wie Ссылка
Wie lautet die Anwendungs-URL, die Sie auf der Entwickler-Seite der Anwendung festgelegt haben? Ich rate nur basierend auf der FB.init () Fehlermeldung, die Sie benötigen, um die URL auf "http: // localhost / Startseite Name" zu setzen. Beim Debuggen unserer Anwendung führen wir es lokal aus und lassen die URL der Anwendung auf diese Weise setzen.
Tags und Links javascript oauth authentication facebook desktop