Ich experimentiere mit app-engine-patch (Django für GAE) auf Google App Engine. Und ich möchte eine Facebook-Anwendung schreiben. Ist es möglich, PyFacebook und seine Middleware zu verwenden? Oder gibt es eine andere Lösung?Facebook, Django und Google App Engine
Antwort
Durch Hinzufügen des Facebook-Verzeichnisses aus dem PyFacebook-Installationsverzeichnis zur app-engine-patch-Anwendung können Sie 'facebook.djangofb.FacebookMiddleware' zu MIDDLEWARE_CLASSES in settings.py hinzufügen. Dann kann Ihre Ansicht "import facebook.djangofb als facebook" und "@ facebook.require_login()" verwenden.
Ich bin nicht Ende-zu-Ende gegangen, aber als ich versuchte, die Ansicht mit '@ facebook.require_login()' anzuzeigen, wurde ich zum Facebook-Login weitergeleitet.
Gemäß this post benötigen Sie ein leicht modifiziertes PyFacebook, das Sie von einer URL herunterladen können, die in diesem Beitrag angegeben wurde (ich habe es selbst jedoch nicht versucht).
Edit: Dieser Link ist falsch - besser Link und mehr Diskussion auf this thread.
Der Link in diesem Beitrag scheint gebrochen zu sein? – bchang
Ja, also habe ich meine Antwort bearbeitet, um einen besseren Zeiger zu geben (zum selben modifizierten PyFacebook) - danke! –
Ich habe diesen Beitrag gesehen, bevor ich meine Frage gestellt habe. Ich habe die Datei heruntergeladen und sie sieht wie eine in sich geschlossene Python-Schnittstelle zu Facebook aus, ohne irgendeine Beziehung zum PyFacebook-Projekt (bitte korrigiere mich, wenn ich falsch liege). In jedem Fall schien die PyFacebook-Middleware nicht unterstützt zu werden. Ich habe einen Beitrag gefunden (http://groups.google.com/group/app-engine-patch/browse_thread/thread/cca0bb8d661c7b83/24ac7e53baae523b?show_docid=24ac7e53baae523b), in dem jemand etwas Ähnliches versucht. Ich werde es versuchen und meine Ergebnisse veröffentlichen. – byamabe
Ich betreibe ein System für soziale Netzwerke und Facebook auf GAE mit Back-End in Python, Front-End in Javascript und Flash. Ich verwende hauptsächlich clientseitige js-Bibliotheken, um Daten an den serverseitigen Datenspeicher zurückzugeben. Diese Bibliothek für Facebook um genau zu sein: http://code.google.com/p/facebookjsapi/
Es gibt einen Grund dafür. Das meiste von dem, was wir tun, wird auf einer eigenen Website laufen, in Iframes in verschiedenen sozialen Netzwerken und in Widgets usw. Aber das hat größtenteils sehr gut funktioniert. Es ist gut, weil wir unser Backend jederzeit austauschen oder es sogar auf mehreren Plattformen ausführen können, da es auch eine GAE-Bibliothek von Python Rest verwendet, aber jedes Backend würde mit diesem Setup arbeiten.
Dies funktionierte von Ende zu Ende. Mit dieser Konfiguration konnte ich eine Facebook-App zur Fotoabstimmung mit Google App Engine als Backend erstellen. – byamabe
Ich habe das versucht und es scheint nicht für mich zu arbeiten. Ich kann nicht "importieren facebook.djangofb als facebook" verwenden, das aus irgendeinem Grund fehlschlägt. Irgendeine Idee warum? Auch das Bit "require_login" funktioniert nicht wie geplant. Vielleicht lege ich das PyFacebook-Zeug in das falsche Verzeichnis? Nicht sicher. Kannst du helfen? – Bialecki
Haben Sie das "facebook" -Verzeichnis auf der obersten Ebene des Projekts platziert (gleiche Ebene wie Ihre "myapp" im Beispielprojekt)? Außerdem sollte es das "Facebook" -Verzeichnis sein, nicht das gesamte PyFacebook-Verzeichnis. Versuchen Sie auch @ facebook.require_add(), aber beide funktionieren erst, wenn der Import funktioniert. – byamabe