2009-05-15 10 views
3

Ich versuche, eine Facebook-App zu schreiben, wo Benutzer den Status der Geschichte seiner Freunde sehen können. Alles scheint gut zu funktionieren, bis ich versuche, die Statusinformationen in meiner Datenbank zu speichern. hier ist der Code:Facebook Problem + Django

class UserStatus(models.Model): 
     facebookid = models.IntegerField() 
     time = models.IntegerField() 
     status_msg = models.CharField(max_length = 2000) 



@facebook.require_login() 
def canvas(request): 
    # Get the User object 
    user, created = FacebookUser.objects.get_or_create(id = request.facebook.uid) 
    user_lastname = request.facebook.users.getInfo([request.facebook.uid], ['last_name'])[0]['last_name'] 
    query = "SELECT time,message FROM status WHERE uid=%s" % request.facebook.uid 
    result = request.facebook.fql.query(query) 

mir also die Informationen über den Status aller Ergebnis. Also mein Problem ist es geben Fehler, wenn ich versuche, es zu speichern.

userstatus = UserStatus() 
    for item in result: 
    userstatus.facebookid = request.facebook.uid 
    userstatus.time = item.time 


userstatus.msg = item.message 
    userstatus.save() 

Fehler: Fehler beim Laden der Seite aus der Anwendung

Empfangene HTTP-Fehlercode 500 während

So laden wie kann ich dieses Problem beheben.

danke.

+1

Sie müssen mehr Informationen geben. Was ist der genaue Fehler und die Rückverfolgung? –

+0

Das Problem ist, jedes Mal wenn es diesen Fehler gibt: Fehler beim Laden der Seite aus der Anwendung Empfangene HTTP-Fehlercode 500 beim Laden http://taramsfb.tarams.com/facebook/ Es gibt noch ein paar Knicke Facebook und die Macher von FBlaspal versuchen auszubügeln. Wir bedanken uns für Ihre Geduld, während wir versuchen, diese Probleme zu beheben. Ihr Problem wurde protokolliert - wenn es weiterhin besteht, kommen Sie bitte in ein paar Tagen zurück. Vielen Dank! Ich weiß nicht, wo das Problem liegt. – user102724

+2

Solange sich die Facebook App im Entwicklungsmodus befindet, sollten Sie in der Lage sein, die Quelle in Ihrem Browser auf der Fehlerseite zu sehen und die aktuelle Django Traceback (auskommentiert) zu sehen. –

Antwort

0

Zuerst sollten Sie überprüfen, ob Sie die Ergebnisse aus dieser bekommen,

result = request.facebook.fql.query(query) 

Vergewissern Sie sich, dass die Ergebnisse in der richtigen Format sind von Ihrem Modell benötigt (uid ist integer, die Zeit ist integer und Nachricht ist String.

Wieder stellen sie sicher, dass Ergebnis ist ein gültiges Objekt python und keine JSON-String/Objekt.

python Denken sie daran, ist nicht vollständig kompatibel mit JSON so, wenn das Ergebnis ist JSON dann dies tut es, um python-Objekt zu konvertieren,

Überprüfen ob das Ergebnis eine Liste der Wörterbücher ist {"time": 123456, "messaage": "xyz"}.

for item in result: 
    userstatus = UserStatus() 
    userstatus.facebookid = request.facebook.uid 
    userstatus.time = item["time"] 
    userstatus.msg = item["message"] 
    userstatus.save() 

Und Sie sollten jetzt keine Fehler haben.

+0

StakcOverfolw TIPP 1: Überprüfen Sie immer das Fragedatum, bevor Sie antworten. :( –