美文网首页
android QQ第三方授权登录接入流程

android QQ第三方授权登录接入流程

作者: 吃人的锅 | 来源:发表于2017-07-12 23:49 被阅读1216次

    背景

    最近想使用qq的授权登录功能来进行app快捷登录,却被被官网的文档搞得头晕目眩,尝试了很久之后才成功回调得到数据,所以记录一下

    准备

    1. 登录腾讯开放平台, 进入管理中心,创建你的应用
    2. 填写应用资料的时候可以先只填写部分内容,需要先把安装包上传(可以先用签名打个demo包,开放平台会自动识别包名和签名,可能集成授权登录的时候会进行识别)
    3. 进入sdk下载页面下载最新的android sdk,文档也在该页面。主要是看创建实例并实现回调QQ登录和注销这两部分内容

    记得记录下自己的app ID

    开放平台app id信息

    开始

    1. 在AndroidManifest配置activity和网络权限
    <activity
        android:name="com.tencent.tauth.AuthActivity"
        android:launchMode="singleTask"
        android:noHistory="true">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="1106260548" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.tencent.connect.common.AssistActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    
    1. 在activity 的初始化代码中创建tencent实例(一般是onCreate方法中)
    Tencent mTencent=Tencent.createInstance("你的app ID 字符串形式", myApplication)
    

    3.调用登录方法(可以在按钮的点击事件里面调用),需要加上回调监听器IUiListener作为参数,(然而好像并没有进行回调)

    IUiListener listener=new IUiListener(){
                @Override
                public void onComplete(Object o) {
                    //成功的回调 o 是一个 返回内容的json,可以自己toast看一下内容
                }
    
                @Override
                public void onError(UiError uiError) {
                    //错误的回调
                }
    
                @Override
                public void onCancel() {
                   //取消的回调
                }
            }
    
    /* 第二个参数是Scope,标名应用需要获得哪些API的权限,由","分隔。
    例如:SCOPE = "get_user_info,add_t";所有权限用"all" */
    mTencent.login(activity, "get_simple_userinfo",listener)
    
    

    4.在activity 中重写onActivityResult方法,得知登陆授权操作的结果

    //listener还是上面的那个listener
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Tencent.onActivityResultData(requestCode,resultCode,data,listener);
    }
    

    结束

    登录大功告成了,接下来就照着官方文档拿信息搞事情吧

    相关文章

      网友评论

          本文标题:android QQ第三方授权登录接入流程

          本文链接:https://www.haomeiwen.com/subject/thvihxtx.html