前言

近期在使用第三方登录和分享的过程中遇到了非常多问题,一方面能够归结为自己经验的不足,还有一方面事实上也说明了官方文档的含糊不清。这篇博文不会写关于怎样使用第三方登录分享,由于官方文档已经写明了步骤,这里要写的东西是官方文档里面没用说明的一些问题,也是我自己在摸索的过程中发现和解决的问题。

一、微博登录和分享

微博sdk的集成过程官方下载的sdk文档中已经基本说明清楚了。这里不提了,说两个常常遇到过问题。

1、登录后停留在授权页,也就是登录后没有返回我们的应用。排除代码方面的原因后。还有几个原因导致这个问题的发生。

a.在应用程序的管理中心中没用填写应用程序包名和签名。或者在高级信息里面没用填写oauth2.0授权设置

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY3NyX3lhbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY3NyX3lhbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

假设这个地方填写错误或者没用填写的话,会导致授权后无法返回应用。

b.包名和签名填写正确而且填写了oauth授权页,还是出现无法返回应用的情况

这个时候就要考虑你的appkey的问题了,博主最開始是跟ios共用一个key的,后来查看官方说明里面有一条是尽量避免ios和android平台使用同一appkey。因此,又为android又一次申请了一个appkey,最后登录授权完毕后就成功的返回了应用。

所以遇到各项參数配置正确。代码正确可是还是无法返回应用的开发人员,建议又一次独立申请一个appkey,解决问题。

2、第二个问题也是比較常见的,sso package or sign error

这样的情况通常是应用程序签名的问题造成的,首先确认上面的签名和包名是否填写正确,包名这个就不用多说了,清单文件里的manifest节点下的package属性的值就是包名

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.yang.abc"

这里着重说一下签名的问题,由于这个问题也是常常导致出现这个sso package or sign error出现的原因。

签名的话用的是微博官方提供的签名工具,这里有个须要注意的地方:签名是依据你装在手机上面的应用来进行的。假设你的应用开发使用的是debug.keystore也就是eclipse默认的方式安装到手机上的,那么这个签名就是不是正式版使用的。假设你终于使用公布应用的时候还使用这个签名。那么这个key非常显然是不对的,就会发现上面的sso package or sign error错误。所以假设你的应用终于是要上线的,那么将apk安装到签名导出安装到手机后,再使用微博官方提供的签名工具执行一遍,得到签名。将这个签名填到管理中心的基本信息中,那么这个appkey才是合法的,使用不会出现上述的问题。

3、另一个问题,至今不知道是什么原因造成的,还要继续探索。

使用sso登录的时候。当手机上已经安装了微博client,会正常调用sso登录

当手机上没有安装微博client时,依照常理应该是调用网页登录,可是却出现了空指针的异常,并且debug会发现对象根本不为空,这个问题一直困扰着我,等找到解决方法了。补充上这一块。

二、微信第三方登录和分享

一个非经常见的问题:分享的时候假设没有登录微信,调出微信登录窗体。正确登录后点击分享无反应。

这个问题查了下,发现非常多人出现了。终于,经过排查,确认是申请的appkey信息有误造成的。

事实上这个问题也是签名的错误的原因造成的。debug.keystore和公布的keystore不同导致了这个问题。

在使用微信官方提供的签名工具获取应用签名的时候。要首先在手机上安装实用公布keystore签名的应用,然后得到的签名才是正确的签名,签名正确了使用appkey才不会出现上面的无法分享或者登录的问题。

Android应用之——微信微博第三方sdk登录分享使用过程中的一些常见问题的更多相关文章

  1. 【Demo】QQ,github,微博第三方社交登录

    本文主要讲解 集成 第三方社交账号登录 为什么会有这个需求? 主要是因为目前互联网的网站数量太多,如果在各个站点都注册一个账号 用户非常不容易记住每个账号的用户名和密码,并且非常难保证每个账号的密码足 ...

  2. 微信支付第三方sdk使用

    1.引入依赖:(对于依赖冲突自行解决) <dependency> <groupId>com.github.binarywang</groupId> <arti ...

  3. 学习Nodejs:《Node.js开发指南》微博项目express2迁移至express4过程中填的坑

    <Node.js开发指南>项目地址https://github.com/BYVoid/microblog好不容易找到的基础版教程,但书中是基于express2的,而现在用的是express ...

  4. qq 微信 微博 第三方分享

    <html> <head> <meta charset="utf-8"> <meta name="viewport" ...

  5. 微博第三方js-sdk登录

    https://open.weibo.com <meta property="wb:webmaster" content="your appkey" /& ...

  6. PHP 接入(第三方登录)QQ 登录 OAuth2.0 过程中遇到的坑

    前言 绝大多数网站都集成了第三方登录,降低了注册门槛,增强了用户体验.最近看了看 QQ 互联上 QQ 登录的接口文档.接入 QQ 登录的一般流程是这样的:先申请开发者 -> 然后创建应用(拿到一 ...

  7. qq登录,新浪微博登录接口申请过程中遇到的问题

    接口申请下来了,开发很容易的,参数传到就可以了.以前就做过这方面的开发,但是申请还是第一次,网上有关这方面的东东不是很多,所以记录一下申请过程. 1,qq登录接口申请 申请地址是:http://con ...

  8. 社会化登录分享-Android SDK的二次封装和使用

    本系列文章将第三方的登录分享功能进行二次封装,统一接口调用,简化了接不同平台登录分享的步骤. 0 系列文章 系列一 Android SDK的二次封装和使用 系列二 源码解析 系列三 微信SDK接入 系 ...

  9. unity 引入 android第三方sdk

    unity中调用java代码中介绍了unity调用android java代码的一些基础.引入android开发第三方sdk的操作跟调用java代码的操作相似,只是多了一步引入第三方jar. unit ...

随机推荐

  1. 软件-集成开发环境:IDE

    ylbtech-软件-集成开发环境:IDE 集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器.编译器. ...

  2. 原生JS通过勾股定理计算苹果菜单效果

    JS原生苹果菜单效果 知识点: 勾股定理 a²+b²=c² Event 是一个事件对象,当一个事件发生后,和当前事件发生相关的详细信息会被临时存储到一个指定的地方,也就是event对象,以方便我们在需 ...

  3. B - Soldier and Bananas

    Problem description A soldier wants to buy w bananas in the shop. He has to pay k dollars for the fi ...

  4. .net 获取当前网页的的url

    正确的方法是:HttpContext.Current.Request.Url.PathAndQuery1.通过ASP.NET获取 如果测试的url地址是http://www.test.com/test ...

  5. Java基础5一数组的常见应用算法

    常用算法 1.冒泡排序: 原理:比较两个相邻的元素,将值大的元素交换至右端 示例: public static void bubbleSort(int[] a) { int n = a.length; ...

  6. JDK和Cglib实现动态代理实例及优缺点分析

    Spring AOP使用的核心技术是动态代理,说到动态代理就不得不和设计模式中的代理模式联系起来,通过代理模式我们可以对目标类进行功能增强,在某个方法的执行前后增加一些操作,例如计算方法执行效率.打印 ...

  7. Dictionary 小知识

    Dictionary<string, string>是一个泛型 他本身有集合的功能有时候可以把它看成数组 他的结构是这样的:Dictionary<[key], [value]> ...

  8. css—文字渐变色

    .text-gradient { display: inline-block; color: green; font-size: 10em; font-family: ´微软雅黑´; backgrou ...

  9. RabbitMQ学习之messageconver插件实现(Gson)

    RabbitMQ已经实现了Jackson的消息转换(Jackson2JsonMessageConverter),由于考虑到效率,如下使用Gson实现消息转换. 如下消息的转换类的接口MessageCo ...

  10. JDK源码中的英文注释翻译(Class)

    public final class Class<T> implements java.io.Serializable, GenericDeclaration, Type, Annotat ...