2013-11-22 28 views
0

我正在開發一個使用框架django_facebook的Facebook畫布應用程序。爲什麼在我的django-facebook canvas應用程序中,request.user是AnonymousUser?

我想將用戶數據保存在本地數據庫中。

@facebook_required(canvas=True) 
def home(request,graph): 

    facebook = FacebookUserConverter(graph) 
    facebook_converter = FacebookUserConverter(graph) 
    user_data = facebook_converter.facebook_registration_data(graph.get('me' ['username']) 
    print request.user //AnonymousUser 
    facebook_converter.get_and_store_friends(request.user) //This creates error 

,這讓我錯誤「[錯誤10061]無連接可以作出,因爲目標機器積極地拒絕它」 當我回溯,我發現request.user是AnonymousUser。

回答

1

這發生在在沒有登錄用戶。

request.user默認爲一個SimpleLazyObject其計算結果爲已登錄用戶,如果用戶登錄,如果不是,它的計算結果爲AnonymousUser因此錯誤。

+0

Facebook應用只能通過Facebook登錄的用戶「@facebook_required(canvas = True)」訪問。那麼,怎麼可能,請求評估AnonymouseUser? –

+0

他們是2個不同的東西 - Facebook的登錄是不一樣的Django的應用程序登錄。您需要將該邏輯合併到您的應用程序中 – karthikr

+0

謝謝@karthikr。我根據需要改變了我的模型。現在它運作良好。 –

相關問題