天天看点

微博,qq第三方登陆 绑定--注意点

需求;

  1.最近公司使用三方登陆,分享。接触到qq,微信,微博等三方机构的借口sdk

 2. 之前做了一段时间,没有进行总结。做这个功能的时候,折腾的不行,没有之前的任何经验,做的时候,心里没底

 3.这篇文章是解决问题后的心得,也是对自己工作的肯定。

   建议:做这个的时候,必须弄懂官方的文档。然后下载官方提供的demo 跑一下。不是为了让一下就懂。而是让自己有的大致的方向。做出来是什么样子。找点自信。

               这点很重要。

  1.先说qq登陆方面的,

      1,首先得到qq互联上面,注册,建立应用, 获得appid 密码等。

        使用qq登陆功能项目必修通过审核并且处于上线状态

微博,qq第三方登陆 绑定--注意点

          处于这个状态就算可以进行测试。qq登陆了。(我们的应用是按时发布。所以上面显示审核中...这点不必纠结,qq互联有的好的功能。就是自动化测试,可以生成文档。减少审核时间)

微博,qq第三方登陆 绑定--注意点
微博,qq第三方登陆 绑定--注意点

   我遇到的问题,最多的就是粗心。之前一个同事。搞了一段时间弄不通。也排查不出来错误。最后我接手排查了一整天。最后原因竟然是包名中的 " .  "  --->   , 就是 顿号

写成了逗号了。相信大家不会犯这样的错误

  另一个是之前不懂。直接把debug 包,默认签名传上去了。之后传上一个正式包。结果可想而知。包名冲突。无法通过审核,找客服,排查签名不正确。更改签名,需要的手续比较多,而且据说只会帮助处理两次。超过两次。可能需要有偿了。千万不要为了方便,吧默认签名传到qq互联上面。

-------

  为什么没有贴具体的实现代码。很简单。官方文档里面已经非常详细的给我们列出来了。直接粘里面。就可以跑。只要记住 app中想接入 qq登陆。app必须通过审核。记住这点。做出来一点问题也没有。

 微博绑定:

 微博绑定必须的条件

  1.应用的签名信息和注册到微博三方接口上的签名需要保持一致,

  2.使用  jdk   中自带的  keytool 查看 ,具体书写方式,见网上 ---如果打开debug,keystore 密码是android 这个我找了好久啊

  3.微博可以设置几个签名务必将debug签名注册上面,这样才可以调试,否则绑定不成功。

微博,qq第三方登陆 绑定--注意点

        如图( 上面签名是正式的签名    ---下面是debug签名。发布之前使用的--很重要。不然签名不对。下面肯定拿不到 access-token)后面的步骤就走不下去了

  4.微博 具体查看 微博官方文档,具体的链接地址稍后我会贴出来。

​​         http://michaelye1988.iteye.com/blog/1637951  ​​

   5.回想一下  难点也是有几个。按照官网上提供的 开发文档进行设置。基本理解,就可以做出来了。

      我遇到的问题。sso认证时候,总是无法获取到access_token 最后解决原因是onActivityResult()回调没有按照文档上面说的,

   项目中使用的是fragment  原来以为fragment中复写的 onactivityresult() 就可以接收到回调。 查看 官方文档 规定是在activity中复写 onactivityresult()。结果回调接口不

触发,就一直卡在哪里。 原因找到了,解决自然是时间上的问题了。

 有两种方法可以解决这个问题

    1.  比较直接 的方法是将fragment 改成activity   然后复写 onactivityresult() 接收回调

    2.在fragment依附的activity onActivityresult()中调用子fragment的onActivityResult()  --在主activity中使用给fragment添加tag  ,然后通过

 fragmentmanage.findfragmenttag() 得到fragment,然后间接的得到fragment 对象调用 fragment中的 onActivityResult()。为什么这样调用,因为我们是在fragment中初始

化sso对象的 在 是在activity的onactivityreslut()中调用sso的回调。所以需要这样处理。

网上关于qq 登陆和微博登陆例子很多,这里只是,将自认为注意的点,写出来,供用到的同学。参考