2017-06-29 19 views
2

Twitterのアプリを使ってAndroidアプリを作っています。ここで私はどんなツイッター4jと布も使用していません。私はTwitterのユーザー名を取得できますが、Email Idを取得できません。この問題の詳細を検索しましたが、twitter apiで何も得られませんでした。 誰かが電子メールなどの詳細情報を取得するために私を助けてください、私はTwitterのAPIを利用してAndroidのアプリをtwitterで利用する方法

にログインするために、このtwitterAPIに続き、これは私のコード

twitterLoginButton.setCallback(new Callback<TwitterSession>() { 
       @Override 
       public void success(Result<TwitterSession> result) { 

        System.out.println("=======twitterlogin success======="); 

        String username=result.data.getUserName(); 

        getUsertwitteremail(); 
       } 

       @Override 
       public void failure(TwitterException exception) { 
        System.out.println("=======twitterlogin failure=========="); 
       } 
      }); 

です。

+0

ここからが、私はこれを得たhttps://twittercommunity.com/t/how-we-can-get-email-address-with-users-detail-using-api/882/28ください。それを確認してください – basha

+0

このリンクを確認してください。それはあなたのユーザーの電子メールアドレスを取得するのに役立ちます。 https://dev.twitter.com/twitterkit/android/log-in-with-twitter – AmmY

答えて

1

まず第一には、ユーザーからの確認要求のメールアドレスを作るあなたのTwitterアプリ は、以下のコードをチェックアウトし、電子メール

mTwitterAuthClient.authorize(this, new com.twitter.sdk.android.core.Callback<TwitterSession>() { 
      @Override 
      public void success(Result<TwitterSession> twitterSessionResult) { 
       TwitterSession session = TwitterCore.getInstance().getSessionManager().getActiveSession(); 
       TwitterAuthToken authToken = session.getAuthToken(); 
       String token = authToken.token; 
       String secret = authToken.secret; 
       long userId = session.getUserId(); 
       String userNa = session.getUserName(); 
       Log.d("twitter check", userNa + " " + secret); 

       mTwitterAuthClient.requestEmail(session, new Callback<String>() { 
        @Override 
        public void success(Result<String> result) { 
         Log.d("email", result.data); 
         // Do something with the result, which provides the email address 
        } 

        @Override 
        public void failure(TwitterException exception) { 
         // Do something on failure 
        } 
       }); 
      } 

      @Override 
      public void failure(TwitterException e) { 
       e.printStackTrace(); 
      } 
     }); 
+0

電子メールのヌル応答を取得 – basha

+0

このコードをonActivityResultに設定しましたか?また、アプリの秘密とトークンを確認してから、もう一度やり直してください。 mTwitterAuthClient.onActivityResult(requestCode、resultCode、data); –

+0

@basha。あなたのtwitterアプリケーションのプレミアムダッシュボードからユーザーの電子メールを要求する必要があります。そのオプションを有効にしていることを確認してください(この回答を参考にしてください)(https://stackoverflow.com/a/47816326/4846859) –

関連する問題