一、注册获取参数
1、进入Twitter开发者网站注册账号https://developer.twitter.com/
2、新建一个项目,就按照提示填写就行(提示:尽量填的“委婉”点,不然可能审核过不了);
3、创建应用 括号代表必填
tips:不勾选Enable Sign in with Twitter这个选项就不用填下面的Callback URLs,拉起Twitter进行授权登录;选中这个选项就要填Callback URLs(这个回调地址不知道怎么处理的),没安装Twitter调出web登录界面进行登录。
4、获取到TWITTER_KEY和TWITTER_SECRET
5、引入Twitter库
compile 'com.twitter.sdk.android:twitter:3.1.1'
二、登录实现
1.初始化
TwitterConfig config=new TwitterConfig.Builder(activity)
.logger(new DefaultLogger(Log.DEBUG))
.twitterAuthConfig(new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET))
.debug(true)
.build();
Twitter.initialize(config);
2.调用登录
TwitterAuthClient mTwitterAuthClient=null;
mTwitterAuthClient=new TwitterAuthClient();
mTwitterAuthClient.authorize(activity, new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) {
Log.d(tag,"login success");
//获取以下登录成功返回信息进行登录验证
final String user_id=result.data.getUserId()+"";
String user_name=result.data.getUserName();
TwitterAuthToken authToken=result.data.getAuthToken();
String access_token=authToken.token;
String tokenSecret=authToken.secret;
//获取登录用户信息
final TwitterSession activeSession=TwitterCore.getInstance().getSessionManager().getActiveSession();
TwitterApiClient client=new TwitterApiClient(activeSession);
AccountService accountService=client.getAccountService();
Call<User> show=accountService.verifyCredentials(false,false,false);
show.enqueue(new Callback<User>() {
@Override
public void success(Result<User> result) {
User user_data=result.data;
String email=user_data.email;
}
@Override
public void failure(TwitterException e) {
}
});
}
@Override
public void failure(TwitterException e) {
Log.e(tag,"login failure:"+e.getMessage());
mTwitterAuthClient=null;
}
});
三、分享实现:
public void shareTweet(Activity activity, String text, String url, String uri){
Log.d(tag,"share to twitter");
try{
String uri1="android.resource://"+activity.getPackageName()+uri;
TweetComposer.Builder builder=new TweetComposer.Builder(activity);
builder.text(text)
.url(new URL(url))
.image(Uri.parse(uri1))
.show();
//Log.d(tag,"");
}catch (Exception e){
e.printStackTrace();
}
}
shareTweet(this,"This is a Twitter share test","https://www.quicksdk.com/","/raw/twitter_share");