вход в твиттер с использованием тканей в android AccountService.verifyCredentials() не принимает новый обратный вызов‹User›() в качестве параметра

Я хочу получить всю информацию о пользователе после успешного входа в Android Twitter.
Для входа в Twiiter я использую Fabrics. вот мой код.

в onCreate()

twitterLoginButton = (TwitterLoginButton) findViewById(R.id.twitterLogin);

twitterLoginButton.setCallback(new Callback<TwitterSession>() {
        @Override
        public void success(Result<TwitterSession> result) {
            //If login succeeds passing the Calling the login method and passing Result object
            twitter_login(result);
        }

        @Override
        public void failure(TwitterException exception) {
            //If failure occurs while login handle it here
            Log.d("TwitterKit", "Login with Twitter failure", exception);
        }
    });

и функция twitter_login()

public void twitter_login(Result<TwitterSession> result) {

    //Creating a twitter session with result's data
    TwitterSession session = result.data;

    //Getting the username from session
    final String username = session.getUserName();

    //This code will fetch the profile image URL
    //Getting the account service of the user logged in

    /*AccountService ac = Twitter.getApiClient(result.data).getAccountService();
    ac.verifyCredentials(true, true);*/

    Twitter.getApiClient(session)
            .getAccountService()
            .verifyCredentials(true, false, new Callback<User>() {

                @Override
                public void failure(TwitterException e) {
                    //If any error occurs handle it here
                }

                @Override
                public void success(Result<User> userResult) {

                    String imageUrl = userResult.data.profileImageUrl;
                    String email = userResult.data.email;
                    String Name = userResult.data.name;
                    long userid = userResult.data.id;
                    String username = userResult.data.screenName;

                    System.out.println(imageUrl);
                    System.out.println("EMAIL:" + email);
                    System.out.println("Name:" + Name);
                    System.out.println("ID:" + userid);
                    System.out.println("Username:" + username);
                }
            });
}  

в virifyCredentials() возникает ошибка, что новый Callback() не может быть применен.
пожалуйста, предложите мне, как использовать этот метод.
заранее спасибо.


person Rajan Nalawade    schedule 16.08.2016    source источник
comment
новый твиттер SDK вызывает у меня головную боль.   -  person Arpit Patel    schedule 15.12.2016


Ответы (1)


Я нашел решение, сделав попытки:

public void success(Result<TwitterSession> result)
{
    TwitterSession   session = result.data;
    Twitter          twitter = Twitter.getInstance();
    TwitterApiClient api     = twitter.core.getApiClient(session);
    AccountService   service = api.getAccountService();
    Call<User>       user    = service.verifyCredentials(true, true);

    user.enqueue(new Callback<User>()
    {
        @Override
        public void success(Result<User> userResult)
        {
            String name = userResult.data.name;
            String email = userResult.data.email;

            // _normal (48x48px) | _bigger (73x73px) | _mini (24x24px)
            String photoUrlNormalSize   = userResult.data.profileImageUrl;
            String photoUrlBiggerSize   = userResult.data.profileImageUrl.replace("_normal", "_bigger");
            String photoUrlMiniSize     = userResult.data.profileImageUrl.replace("_normal", "_mini");
            String photoUrlOriginalSize = userResult.data.profileImageUrl.replace("_normal", "");
        }

        @Override
        public void failure(TwitterException exc)
        {
            Log.d("TwitterKit", "Verify Credentials Failure", exc);
        }
    });
}
person Roberto Spateri    schedule 29.08.2016
comment
Большое спасибо за это решение @Nevada750 - person siva; 05.11.2016
comment
ты спас мой день брат - person Arpit Patel; 15.12.2016