我在我的Android应用程序中使用twitter4j。我可以获得oauth_verifier并获取令牌和秘密(使用accessToken.getToken()和accessToken.getTokenSecret())。我存储了这些价值。
但是,当应用再次打开时,我不知道如何使用此值。我发现了类似的内容。
accessToken = this.twitter.getOAuthAccessToken(requestToken,verifier);
但是如何创建requestToken?
答案 0 :(得分:1)
当您获得令牌并且令牌密码将其保存在您的应用中时,例如使用SharedPreference
AccessToken accessToken = twitter.getOAuthAccessToken(oathVerifier);
SharedPreferences pref= getSharedPreferences("social_pref",Context.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("token",accessToken.getToken());
editor.putString("token_secret",accessToken.getTokenSecret());
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.GINGERBREAD) {
editor.apply();
}else{
editor.commit();
}
现在您可以轻松了解是否存在已存储的令牌和令牌密钥
public boolean doIhaveTokenAndTokenSecret(Context context){
SharedPreferences pref= getSharedPreferences("social_pref",Context.MODE_PRIVATE);
return pref.getString("token",null)!=null && pref.getString("token_secret",null)!=null ;
}
如果存储它们,请将它们提供给ConfigurationBuilder对象
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setOAuthConsumerKey(Constants.TWITTER_CONSUMER_KEY);
builder.setOAuthConsumerSecret(Constants.TWITTER_CONSUMER_SECRET);
if(doIhaveTokenAndTokenSecret(getApplicationContext()){
SharedPreferences mSharePref = context.getSharedPreferences(Constants.SOCIAL_PREF_NAME, Context.MODE_PRIVATE);
builder.setOAuthAccessToken(mSharePref.getString("token",null));
builder.setOAuthAccessTokenSecret(mSharePref.getString("token_secret",null));
}
Configuration configuration = builder.build();
Twitter mTwitter = new TwitterFactory(configuration).getInstance();