我試圖讓用戶email
與AccessToken
,我從Facebook SDK
的Android SDK Facebook的問題AcccessToken
拿到如果我使用
Graph API Explorer
的AccessToken
我能得到id
,name
和email
不要緊,如果我使用瀏覽器或OkHttp
:"https://graph.facebook.com/" + user_id + "?fields=email,name&access_token=" + access_token_from_graph_explorer
我得到這樣的性反應:
{
"email": "[email protected]",
"name": "John Doe",
"id": "4545"
}
如果我用AccessToken.getCurrentAccessToken().getToken()
方法採取token
,我不JSONObject
得到email
。
- 使用
Graph Explorer
我可以看到我的id
。我試圖使請求是這樣的:
"https://graph.facebook.com/me?fields=email,name&access_token="
這:
"https://graph.facebook.com/" + id + "?fields=email,name&access_token="
在第二個變體我已經"Unsupported get request. Object with ID 'xxxxxxxxxxx' does not exist, cannot be loaded due to missing permissions...
,而用我的id
。當我試圖使用id
的另一個user
我仍然沒有得到email
。
Bundle bundle = new Bundle();
bundle.putString("fields", "email,name");
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"me",
bundle,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
System.out.println("data = " + response.toString());
}
}
).executeAsync();
有了這個變體,我也沒有完成email
。
我很困惑。告訴我,我如何檢索用戶電子郵件。
3.After登錄我嘗試:
public void onSuccess(LoginResult loginResult) {
System.out.println("succses =" + loginResult.getAccessToken().getToken());
accessToken = loginResult.getAccessToken();
GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject user, GraphResponse graphResponse) {
Log.d("TAG", user.optString("email"));
Log.d("TAG", user.optString("name"));
Log.d("TAG", user.optString("id"));
init();
}
}).executeAsync();
}
但我沒有看到TAG
與電子郵件 附: graph explorer
中的所有權限均已打開。
答案嘗試在計算器這個答案......我面臨同樣的問題... http://stackoverflow.com/a/33412596 –
@ExceptionLover好的,謝謝。這有幫助。 –
PLZ接受我的回答... !! –