2016-10-16 3 views
1

ユーザーが既にログインしているときにユーザーの電子メールを取得しようとしています。ユーザーが既にログインしているのに電子メールまたは名前を取得できないような新しいアクティビティを開始できましたユーザーの。ユーザーがすでにログインしている時に活動を開始するHERESに私のコードFacebook API 4.0。既にログインしている場合は電子メールを取得

AccessToken accessToken = AccessToken.getCurrentAccessToken(); 
    // If already logged in,start new activity 
    if (accessToken != null) 
     { 
      Intent intent = new Intent(LoginActivity.this,HomePage.class); 
      startActivity(intent); 
     } 

答えて

1

ていることを確認してくださいあなたはログイン時に電子メールの質問:あなたの現在のAccessTokenで

...logInWithReadPermissions(this, Arrays.asList("email")); 

GraphRequestを作成します。

GraphRequest request = GraphRequest.newMeRequest(
        AccessToken.getCurrentAccessToken(), 
        new GraphRequest.GraphJSONObjectCallback() { 
         @Override 
         public void onCompleted(
           JSONObject object, 
           GraphResponse response) { 
          Log.d("jsonresponse", object.toString()); 
         } 
        }); 

jsonレスポンスでどのフィールドを使用するかを指定できます。

Facebookのドキュメントで検索するプロファイルクラスは、名前、姓、画像などの基本情報のみを返します。たぶんこれがメールをもう一度入手する方法です。

希望します。

関連する問題