Twitter的访问令牌和访问秘密的是Android更改为Twitter的API 1.1版本后返回null例外? [英] Twitter access token and access secret is returning null exception after changing to twitter api version 1.1 in android?

查看:129
本文介绍了Twitter的访问令牌和访问秘密的是Android更改为Twitter的API 1.1版本后返回null例外?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

首先我能与twitter4j核罐子版本2.1.11,并能够检索访问令牌和秘密的Twitter按钮登录。但Twitter停止后的我增加了新的twitter4j核罐子版本3.0.3与API 1.1版本API版本1的功能。现在我不能够检索访问令牌和访问秘密。

First I am able to login with twitter button with twitter4j-core jar version 2.1.11 and able to retrieve access token and secret. But after twitter has stopped the functionality of API version 1 I have added new twitter4j-core jar version 3.0.3 with API version 1.1. Now I am not able to retrieve the access token and access secret.

下面是我已存储在我的访问令牌和秘密访问数据库的方法。

Here is database method where I have stored my access token and access secret.

 public static void save(Context context, final OAuthConsumer oAuthConsumer) {
    SharedPreference.storeValue(OAuth.OAUTH_TOKEN, oAuthConsumer.getToken(), context);
    SharedPreference.storeValue(OAuth.OAUTH_TOKEN_SECRET, oAuthConsumer.getTokenSecret(), context);
}

另一个数据库的方法我在哪里检索存储的值:

Another Database method where I am retrieving the stored values as:

public static AccessToken retrieveStoredAccessToken(Context context)
{
    String token = SharedPreference.getValueFromStore(OAuth.OAUTH_TOKEN , context);
    String secret = SharedPreference.getValueFromStore(OAuth.OAUTH_TOKEN_SECRET, context);
    return new AccessToken(token, secret);
}

现在,当用户点击登录按钮,将重定向到方法isAuthenticated()我在哪里检索存储的访问令牌和秘密

Now when user clicks the login button it will redirect to method isAuthenticated() where I am retrieve stored access token and secret

public static boolean isAuthenticated(Context context) 
{
    try
    {   
        AccessToken accessToken = Database.retrieveStoredAccessToken(context); // String token and secret is received null from databse
        Twitter twitter = new TwitterFactory().getInstance();
        twitter.setOAuthConsumer(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET);
        twitter.setOAuthAccessToken(accessToken);
        twitter.getAccountSettings();
        return true;
    }
    catch (TwitterException e)
    {   
        System.out.println("Twitter Authenticated : false");
        return false;
    }
    catch(Exception e)
    {       
        System.out.println("Twitter Authenticated : false");
        return false;
    }

}

访问令牌返回Null例外。我能够与Twitter,但会议进行登录,因为访问令牌和访问秘密不被存储抛出空例外。

Access token returns Null Exception. I am able to login with twitter but session is not stored because of access token and access secret throws null exception.

以下jar文件使用

1)路标-commonshttp4-1.2.1.1.jar
2)路标 - 核心1.2.1.1.jar
3)twitter4j芯-3.0.3.jar

1) signpost-commonshttp4-1.2.1.1.jar 2) signpost-core-1.2.1.1.jar 3) twitter4j-core-3.0.3.jar

推荐答案

最后我想通了我的问题。

Finally I have figured my problem.

只需要改变这些东西:

https://api.twitter.com/oauth/authenticate?force_login=true from http://api.twitter.com/oauth/authenticate

这篇关于Twitter的访问令牌和访问秘密的是Android更改为Twitter的API 1.1版本后返回null例外?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆