2016-12-03 2 views
2

나는 패브릭을 사용하여 트위터로부터 전자 메일을 보내려고합니다. 아무도 그것을 얻는 방법을 알 수 없습니다. 나는 또한 직물없이 시도했지만 효과가 없습니다.패브릭을 사용하여 트위터에서 전자 메일을받는 방법

내 코드는 다음과 같습니다.

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

        session = result.data; 

        String username = session.getUserName(); 
        Long userid = session.getUserId(); 

        Log.d(":: Name ::", session.getUserName()); 

        getUserData(); 
       } 

       @Override 
       public void failure(TwitterException exception) { 

       } 
      }); 
     } 

     @Override 
     protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
      super.onActivityResult(requestCode, resultCode, data); 
      twitterLoginButton.onActivityResult(requestCode, resultCode, data); 
     } 

     void getUserData() { 
     Call<User> call = Twitter.getApiClient(session).getAccountService() 
       .verifyCredentials(true, false); 
     call.enqueue(new Callback<User>() { 
      @Override 
      public void success(Result<User> result) { 
       User user = result.data; 
       String twitterImage = user.profileImageUrl; 

       try { 
        Log.d("imageurl", user.profileImageUrl); 
        Log.d("name", user.name); 
//     Log.d("email", user.email); 
        Log.d("des", user.description); 
        Log.d("followers ", String.valueOf(user.followersCount)); 
        Log.d("createdAt", user.createdAt); 

        Log.d("::Name ::", user.name); 


        session = Twitter.getSessionManager().getActiveSession(); 
        TwitterAuthToken authToken = session.getAuthToken(); 
        String token = authToken.token; 
        String secret = authToken.secret; 
        authClient = new TwitterAuthClient(); 
        authClient.requestEmail(session, new Callback<String>() { 
         @Override 
         public void success(Result<String> result) { 
          // Do something with the result, which provides the email address 
          Log.d("::::result:::::", result.response + ""); 
         } 

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


       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 

      @Override 
      public void failure(TwitterException exception) { 

      } 
     }); 
    } 
+1

죄송 합니다만, 우리가 이메일에 대한 트위터를 요청할 수는 있지만, 방법에 상관없이 매번 이메일을 받을지 확신하지 못합니다. – Ak9637

답변

2

시도해보십시오.

here is image

twitauthobj.requestEmail(twitsessionobj,new Callback<String>() { 
         @Override 
         public void success(Result<String> stringResult) { 
          'You code here' 

         } 

         @Override 
         public void failure(TwitterException e) { 

         } 
        }); 

당신이 또한 권한을 확인해야합니다. 확인해 봤어?

+0

위 코드를 사용하고 있지만 코드를 사용하고 있습니다. 대화 상자에서 귀하의 이메일 주소를 허락하신 후 지금 공유하지 말고, 여전히 이메일 주소를받지 못하게하십시오. –

+0

여기에 권한이 있습니까? 귀하의 경우 https://apps.twitter.com/app/PROJECT_ID/permissions –

+0

간단히 설명해 주시겠습니까? 실제로 그것에 대해 전혀 몰라요! –