热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

androidtwitter第三方登录,android中接入twitter进行第三方登录

在应用中接入Twitter进行第三方登录时,开发人员遇到了一点问题,主要是概念有点混乱,这里把经验记录一下,帮助遇到同样问题

在应用中接入Twitter进行第三方登录时,开发人员遇到了一点问题,主要是概念有点混乱,这里把经验记录一下,帮助遇到同样问题的朋友。

一、注册应用并配置登录权限

这一步比较简单,就不多说了,直接去官网添加应用,给读写权限就行了。

网址:https://dev.twitter.com/apps

这一步完成后,最重要的是得到两个数据,一个是app_key,一个是app_secret。这两个字符串在后面会用到。

二、添加依赖的包(引用sdk)

这一步要注意的是,twitter的sdk是放在自己的maven库中,而现在AndroidStudio默认用的是jCenter,所以这里我们要在build.gradle中添加maven库,然后引入twitter sdk。

首先在整个项目的build.gradle中的 repositories 里添加maven如下:

repositories {

mavenCentral()

maven { url 'https://maven.fabric.io/public' }

jcenter()

}

然后在模块的build.gradle中添加maven库并引入sdk:

repositories {

mavenCentral()

maven { url 'https://maven.fabric.io/public' }

}

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

testCompile 'junit:junit:4.12'

...

compile('com.twitter.sdk.android:twitter-core:1.3.1@aar') {

transitive = true;

}

}

这里大家可以看到出现了Fabric,这个是什么东西呢,其实是Twitter开发的开发者工具包。

三、在Mainfest中配置Fabric ApiKey

在AndroidManifest.xml中的application节点内添加如下代码:

四、添加登录按钮

现在我们就可以在activity的布局文件中添加登录按钮了,代码如下:

五、sdk初始化

在我们注册登录按钮事件之前,还有一件事很重要,就是初始化sdk。这里有个需要注意的地方就是sdk的初始化一定要在setContentView之前。

初始化代码如下:

import io.fabric.sdk.android.Fabric;

import com.twitter.sdk.android.core.TwitterCore;

import com.twitter.sdk.android.core.TwitterAuthConfig;

public class LoginActivity extends AppCompatActivity {

private static final String TWITTER_KEY = "app_id";

private static final String TWITTER_SECRET = "app_secret";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

TwitterAuthConfig authConfig =

new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);

Fabric.with(this, new TwitterCore(authConfig));

setContentView(R.layout.activity_login);

}

}

六、注册登录事件并添加回调

上面都完成后,就可以注册登录按钮事件并添加结果的回调了,然后获取token等信息。

整个登录activity代码如下:

import io.fabric.sdk.android.Fabric;

import com.twitter.sdk.android.core.Callback;

import com.twitter.sdk.android.core.Result;

import com.twitter.sdk.android.core.TwitterAuthToken;

import com.twitter.sdk.android.core.TwitterCore;

import com.twitter.sdk.android.core.TwitterAuthConfig;

import com.twitter.sdk.android.core.TwitterException;

import com.twitter.sdk.android.core.TwitterSession;

import com.twitter.sdk.android.core.identity.TwitterLoginButton;

public class LoginActivity extends AppCompatActivity {

private static final String TWITTER_KEY = "app_id";

private static final String TWITTER_SECRET = "app_secret";

TwitterLoginButton loginButton;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

TwitterAuthConfig authConfig =

new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);

Fabric.with(this, new TwitterCore(authConfig));

setContentView(R.layout.activity_login);

loginButton = (TwitterLoginButton) findViewById(R.id.twitter_button);

loginButton.setCallback(new Callback() {

@Override

public void success(Resultresult) {

TwitterAuthToken authToken = result.data.getAuthToken();

String token = authToken.token;

String secret = authToken.secret;

Log.i("token", token);

Log.i("secret", secret);

}

@Override

public void failure(TwitterException exception) {

// Do something on failure

}

});

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

loginButton.onActivityResult(requestCode, resultCode, data);

}

}

以上就是完整的步骤了,希望对大家有帮助。



推荐阅读
author-avatar
渭南电信贺平
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有