私はGraph API Explorer
さんAccessToken
を使用している場合は、私がFacebook SDK
のAndroidのFacebook SDK AcccessToken問題
から取得することを、私は
id
、name
とemail
を得ることができ、AccessToken
でユーザーemail
を取得しようとは関係ありません。使用ブラウザやOkHttp
:"https://graph.facebook.com/" + user_id + "?fields=email,name&access_token=" + access_token_from_graph_explorer
私は、このようなresponceを得る:
{
"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="
私id
を使用している間、私は、"Unsupported get request. Object with ID 'xxxxxxxxxxx' does not exist, cannot be loaded due to missing permissions...
をしました。私が別のuser
のid
を使用しようとしたとき、私はまだ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();
}
しかし、私は、電子メール P.S.でTAG
が表示されませんgraph explorer
のすべてのアクセス許可が有効になっています。
に答えを見つけた...私は同じ問題に直面していた... http://stackoverflow.com/a/33412596 –
@ExceptionLoverうん感謝。これは助けになりました。 –
plzは私の答えを受け入れる... !! –