https://graph.facebook.com/<user_id>/?access_token=<valid_token>
或只是
https://graph.facebook.com/me/?access_token=<valid_token>
並取回JSON對象不包含我需要初級用戶的電子郵件。 我爲應用程序設置了電子郵件許可權,並且沒有任何效果。 什麼可能是錯的?
https://graph.facebook.com/<user_id>/?access_token=<valid_token>
或只是
https://graph.facebook.com/me/?access_token=<valid_token>
並取回JSON對象不包含我需要初級用戶的電子郵件。 我爲應用程序設置了電子郵件許可權,並且沒有任何效果。 什麼可能是錯的?
驗證你記得索要登錄請求的電子郵件的權限?
https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URI&state=SOME_ARBITRARY_BUT_UNIQUE_STRING&scope=email
謝謝,這正是我忘了做的 – heximal
您的訪問令牌中可能沒有email
權限。
再次感謝,沒有冒犯,但我接受安德烈亞斯的回答是正確的原因,這是真正的原因。但是你的建議對於理解問題的根源非常有幫助。 – heximal
完全沒有問題,您應該始終接受最適合您的答案。 –
我相信,你的問題是,即使授予權限來訪問電子郵件後,您是:您可以通過登錄請求中添加範圍參數是這樣的(&範圍=電子郵件)做到這一點無法通過Graph API獲取電子郵件信息。在較新的版本中,您需要將字段參數傳遞給API以獲取其他信息,例如電子郵件。默認情況下,它僅提供id和name作爲響應。請在下面找到如何從圖中獲取其他信息的示例:
https://graph.facebook.com/me?fields=id,email,first_name,gender,last_name,link,locale,name,timezone,updated_time,verified&access_token=<value of access_token>&debug=all
希望這有助於您。
這可能是電子郵件未在Facebook中驗證。在這種情況下,Facebook不會通過API提供它。確保你的代碼處理這種情況。
由於API 2.5版本的發佈,你可以得到這樣的用戶電子郵件地址:https://graph.facebook.com/v2.5/me?fields=id,name,email
你調試的訪問令牌驗證它得到了電子郵件的權限? –
檢查您的訪問令牌是否包含'email'權限:https://developers.facebook.com/tools/debug – CBroe
不,我沒有。我怎樣才能做到這一點? – heximal