我的上篇文档已经写了关于linkedin的授权及分享,在此有些地方就不去做描述,只把不同的地方说一下
1、去dev.twitter.com注册应用获取appkey及secert,
2、让你的应用有读写权限,如果出现这个问题You must add your mobile phone to your Twitter profile before granting your application write capabilities.时,请到你的twitter个人设置里移动互联,激活手机号,+086186.。。。。 无论是否成功,返回授权页再次修改即可成功修改权限。
3、代码不同的地方
mService = new ServiceBuilder()
.provider(TwitterApi.class).apiKey(Constant.CONSUMER_TWITTER_KEY)
.apiSecret(Constant.CONSUMER_TWITTER_SECRET).callback(Constant.OAUTH_CALLBACK_TWITTER_HOST).build();
mRequestToken = mService.getRequestToken();
authUrl = mService.getAuthorizationUrl(mRequestToken);
String tweet = showTweets.getEditableText().toString();
try {
tweet = URLEncoder.encode(tweet,"UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String urlTweet="https://api.twitter.com/1.1/statuses/update.json?status="+tweet;
OAuthRequest request2 = new OAuthRequest(Verb.POST, urlTweet);
mService = new ServiceBuilder()
.provider(TwitterApi.class).apiKey(Constant.CONSUMER_TWITTER_KEY)
.apiSecret(Constant.CONSUMER_TWITTER_SECRET)
.callback(Constant.OAUTH_CALLBACK_TWITTER_HOST).build();
Token token = new Token(userToken, userScreet);
mService.signRequest(token, request2);
Response response = request2.send();
Message msg = new Message();
String reStr = response.getBody();
System.out.println(response.getBody());
System.out.println(response.getHeaders().toString());