2017-10-07 19 views
0

我正忙於爲我的django網站實施Facebook登錄。我不確定我現在是否在正確的軌道上或者離開球。我已經實現了完整的代碼,如FB文檔示例https://developers.facebook.com/docs/facebook-login/web中所示。基本上插入腳本在模板上。我有按鈕,一旦登錄,我的「歡迎獲取您的信息」「我的console.log成功登錄約書亞拉斐爾」。如何從Facebook登錄獲取用戶字段

我現在如何獲得所需的電子郵件,用戶名和個人資料照片?它是響應對象的一部分嗎?此外,如果我有電子郵件登錄,是否有可能獲得響應電子郵件,並檢查我當前的數據庫,看看用戶是否已經註冊?

不想使用預先製作的Django的應用程序,但如果你極力推薦一個我可能會嘗試it.Thanks

回答

2

我認爲你這樣做是:

FB.login(function(response) { 
if (response.authResponse) { 
console.log('Welcome! Fetching your information.... '); 
FB.api('/me', function(response) { 
    console.log('Good to see you, ' + response.name + '.'); 
}); 
} else { 
console.log('User cancelled login or did not fully authorize.'); 
} 

});

可以CONSOLE.LOG的反應,看看它包含的所有,你會得到它的電子郵件,用戶名和profilepic,也可以指定字段,如果它不存在這樣的:

FB.api('/me', {fields: 'last_name'}, function(response) { 
    console.log(response); 
}); 

更多here

還確保您在登錄方法的作用域中添加了電子郵件。像這樣:

FB.login(function(response) { 
    // handle the response 
}, {scope: 'public_profile,email'}); 
+0

我使用登錄按鈕代碼在這裏找到https://developers.facebook.com/docs/facebook-login/web/login-button/。以及此頁面底部的完整代碼:https://developers.facebook.com/docs/facebook-login/web/login-button/。我的問題是FB.login在此代碼中無處可用。當點擊登錄按鈕登錄表單顯示,但我不知道在哪裏編輯所需的領域/範圍,如上所述。謝謝 – Josh

+0

我認爲這就是爲什麼console.log(「Connected:」+ response.email)給了我「Connected:undefined」 – Josh

+0

我發現你必須指定FB.api('/ me' ,... – Josh

相關問題