创建app:https://apps.twitter.com
官方DEMO:https://github.com/twitter-archive/twitter-kit-android/wiki/Log-In-with-Twitter

1、接入的第一步还是要在官方后台创建一个app,按照提示一步步添加,此过程就是为了得到key和secret,别忘了callback_url也要添加

2、开始集成:
在app/build.gradle里添加
dependencies {
compile ‘com.twitter.sdk.android:twitter-core:3.1.1’
compile ‘com.twitter.sdk.android:tweet-composer:3.1.1’
}
如果需要获取用户的信息的时候,这里实际还用到了compile ‘com.google.code.gson:gson:2.7’,

初始化
Twitter.initialize(this);放在你的 application的onCreate里就行

官方给出的设置默认的配置信息,还可按如下设置
TwitterConfig config = new TwitterConfig.Builder(this)
.logger(new DefaultLogger(Log.DEBUG))
.twitterAuthConfig(new TwitterAuthConfig(“CONSUMER_KEY”, “CONSUMER_SECRET”))
.debug(true)
.build();
Twitter.initialize(config);
注意:自己实测,此方法根本行不通,
最终是通过第一种初始化,这里你会发现好像初始化和key/secret没啥关系,难道是后续的登陆接口用到,带着疑问又继续集成,

登陆

使用官方定义的登陆按钮
<com.twitter.sdk.android.core.identity.TwitterLoginButton
android:id=“@+id/login_button”
android:layout_width=“wrap_content”
android:layout_height=“wrap_content” />
loginButton = (TwitterLoginButton) findViewById(R.id.login_button);
登陆监听
loginButton.setCallback(new Callback() {
@Override
public void success(Result result) {
// Do something with result, which provides a TwitterSession for making API calls
}

@Override
public void failure(TwitterException exception) {
// Do something on failure
}
});

使用自己的按钮
mTwitterAuthClient = new TwitterAuthClient();
mTwitterAuthClient.authorize(activity, new Callback() {
@Override
public void success(Result result) {
TwitterAuthToken authToken = result.data.getAuthToken();

            String token = authToken.token;String tokenSecret = authToken.secret;String userName = result.data.getUserName();long userId = result.data.getUserId();getTwitterUserInfo(userId);Log.i("main","authorize.token="+token);Log.i("main","authorize.tokenSecret="+tokenSecret);Log.i("main","authorize.userName="+userName);Log.i("main","authorize.userId="+userId+"");}@Overridepublic void failure(TwitterException exception) {exception.printStackTrace();Log.i("main","authorize.failure="+exception.toString());mDologinResult.doLoginFail();}});

结果返回
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

// Pass the activity result to the login button.
loginButton.onActivityResult(requestCode, resultCode, data);

}

获取用户信息
private static void getTwitterUserInfo(final long userId){
// AccessToken.getCurrentAccessToken()
final TwitterSession activeSession = TwitterCore.getInstance().getSessionManager().getActiveSession();
final String twitterSecret = activeSession.getAuthToken().secret;
final String twitterToken = activeSession.getAuthToken().token;
MyTwitterApiClient client = new MyTwitterApiClient(activeSession);
client.getCustomService().show(userId).enqueue(new Callback() {
@Override
public void success(Result result) {
User data = result.data;
// data.name,data.profileImageUrl
Log.i(“main”,“authorize.getTwitterUserInfo=”+data.name+“,url=”+data.profileImageUrl);
}

        @Overridepublic void failure(TwitterException e) {e.printStackTrace();Log.i("main","authorize.getTwitterUserInfo.failure="+e.getMessage());mDologinResult.doLoginFail();}});
}

static class MyTwitterApiClient extends TwitterApiClient {
public MyTwitterApiClient(TwitterSession session) {
super(session);
}

    /*** Provide CustomService with defined endpoints*/public CustomService getCustomService() {return getService(CustomService.class);}// example users/show service endpointinterface CustomService {@GET("/1.1/users/show.json")Call<User> show(@Query("user_id") long id);}
}

以上登陆的接口官方给的都挺详细,看着好像一切很顺利,好了开始测试,发现一直登陆失败,nnd,到底哪里出了问题,困扰了好久想想还是因为key和secret一直没配置好的问题,反反复复的看官方的文档和api,结果还是一直返回授权失败,和官方给的demo相比较代码的接入上也没有任何问题,最后还是仔细看了他们的demo才发现了问题,原来他的demo里多了一个文件twitter.properties里面就有key和secret的配置信息啥的,这…太nm坑了,官方文档从头到尾都没提到过这么文件,好吧,加上试试看吧,日了,成功了,

最后贴上改文件的内容
twitterConsumerKey=自己的key
twitterConsumerSecret=自己的secret

android Twitter第三方登陆相关推荐

  1. android微信第三方登陆混淆,Android 第三方应用接入微信平台研究情况分享(二)

    微信平台开放后倒是挺火的,许多第三方应用都想试下,毕竟可以利用微信建立起来的关系链来拓展自己的应用还是挺不错的,可以节约很多在社交方面的开销,我最近由于实习需要也在研究这个东西,不过发现网上的相关资料 ...

  2. Android对接第三方登陆+支付(google+facebook)

    由于近期项目,要用到google+登陆和google  play商店应用内商品支付,以及facebook登陆 所以经过查看官网介绍和示例应用来实现下其中的功能, 下面是使用中遇到的问题,希望对你有用! ...

  3. android微信第三方登陆混淆,基于微信api Android程序签名+代码混淆

    微信开放平台真是独特啊!!! 微信的ap调用确实别新浪微博,人人,QQ互联这些方便很多,也不用判断绑定什么的,让人眼前一亮.但是到代码混淆这一步,我真瞎了,网上关于微信签名混淆资料讲的让人摸不着头脑, ...

  4. android QQ第三方登陆 错误 登陆授权失败(错误码:110406)

    第一次授权是可以的,第二次就出现这个,我把开发的app名字改一下,又可以了,或者换一下登录的qq号也是可以了,具体原因还没能明白,先记录下来,有遇到问题的朋友可以先试试这个方法

  5. 微信授权APP第三方登陆(Android)

    前几天负责的程序说是要加入第三方登陆的功能,虽然现在有服务商集成了第三方登陆,但是平时所用的也就微信和QQ,就自己看文档写了,其中也遇到了一些问题,然后我把我做这个的流程贴出来,并附上对应的Demo, ...

  6. Android第三方登陆之新浪微博Weibo篇(原生登陆授权)

    前言 Android第三方登录可以说是非常的常见,今天主要先说一下新浪微博第三方登陆授权. SDK版本支持 SDK v3.0已经发布了支持iPhone和Android的版本. 须将你的应用的包名签名信 ...

  7. android qq三方登录授权失败,QQ第三方登陆授权失败110401原因及解决办法分享

    qq第三方登陆授权失败出现代码110401是什么情况?遇到这种情况该如何解决?相信很多用户们在操作的时候都出现过类似的情况吧?下面是小编带来的攻略解析,一起来关注下! qq第三方登陆授权失败11040 ...

  8. android qq三方登录授权失败,教大家qq第三方登陆授权失败110401怎么办的解决方法...

    今天小编来给大家针对这个教大家qq第三方登陆授权失败110401怎么办的解决方法的问题来进行一个介绍,毕竟当下也是有诸多的小伙伴对于教大家qq第三方登陆授权失败110401怎么办的解决方法这个问题非常 ...

  9. Android ShareSDK第三方微信QQ登陆

    最近公司需求做第三方登陆,本人将开发的时候注意事项给大家分享一下.希望以后可以减少大家进坑趟水. 首先请各位先去官网看继承文档 http://wiki.mob.com/Android_%E5%BF%A ...

最新文章

  1. 负载均衡策略深入剖析
  2. WinXp安装Oracle 11g Express Edition
  3. windows7 下的日期没有internet时间的选项卡
  4. 小块头大性能才能得到用户的青睐
  5. 火电厂给水控制系统设计
  6. Awesome-XJTLU 项目宣传
  7. 命名空间和工程名java_Java的类装载器(Class Loader)和命名空间(NameSpace)
  8. linux脚本里使用sftp,如何在shell脚本里使用sftp批量传送文件
  9. python-jieba分词模块
  10. excel重复上一步快捷键_工作再忙也要学会的十个Excel快捷键
  11. Springboot自动配置原理入门
  12. TSAP(2) : 时区切换
  13. TLSF: Memory allocator real time embedded systems
  14. My Sunshine
  15. 注册表禁用计算机管理,注册表被管理员禁用如何处理 怎么解决注册表被管理员禁用【图文】...
  16. shell编程中空格的使用
  17. input_delay
  18. 自制低成本3D激光扫描测距仪(3D激光雷达),第二部分
  19. Datadog——Monitor as a service(笔记)
  20. L1、L2正则化以及smooth L1 loss

热门文章

  1. STM32精英版(正点原子STM32F103ZET6开发板)学习篇15——RTC实时时钟+备份区域BKP
  2. 用fingerprintjs2.js 生成浏览器标识
  3. PTA 数据结构 修理牧场
  4. 信号链(Signal Chain)芯片
  5. 可兼容CS4344的国产音频数模转换电路,目前已广泛应用于数字通信、DVD音频、汽车音响系统
  6. iPhone中通过ics来添加农历与天气预报
  7. POI导出表格Java代码实现
  8. 2021年煤气考试题库及煤气免费试题
  9. android小电脑,废旧笔记本电脑纯手工改装“安卓小电脑”,太赞了!
  10. 禁用Windows Defender Antivirus Service,让你文件正常运行