前言

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

一、微博登录和分享

微博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. c# 获取本周开始时间与结束时间

    public static DateTime WeekStartTime { get { DateTime dt = DateTime.Now; * ();//取本周一 ) //如果今天是周日,则开始 ...

  2. 46.Qt 使用OpenGL绘制立方体

    main.cpp #include <QApplication> #include <iostream> #include "vowelcube.h" in ...

  3. leetcode 几道题目

    是周六晚上的几道题,晚上11点半,睡的早,起不来! 494. Target Sum 分析:看完这题,看到数据范围,长度20,枚举就是1<<20 = 1e6, 然后单次20,总共就是2e8, ...

  4. HBase编程 API入门系列之delete.deleteColumn和delete.deleteColumns区别(客户端而言)(4)

    心得,写在前面的话,也许,中间会要多次执行,连接超时,多试试就好了. delete.deleteColumn和delete.deleteColumns区别是: deleteColumn是删除某一个列簇 ...

  5. Java集合(一)HashMap

    HashMap 特点: HashMap的key和value都允许为空,无序的,且非线程安全的 数据结构: HashMap底层是一个数组,数组的每一项又都是链表,即数据和链表的结合体.当新建一个Hash ...

  6. 使用纯 CSS 实现 Google Photos 照片列表布局

    文章太长,因为介绍了如何一步一步进化到最后接近完美的效果的,不想读的同学可以直接跳到最后一个大标题之后看代码.demo及原理就好,或者也可以直接看下面这个链接的源代码. 不过还是建议顺序读下去,因为后 ...

  7. 微信小程序开发之animation动画实现

    1. 创建动画实例 wx.createAnimation(OBJECT) 创建一个动画实例animation.调用实例的方法来描述动画.最后通过动画实例的export方法导出动画数据传递给组件的ani ...

  8. 四.Windows I/O模型之重叠IO(overlapped)模型

    1.适用于除Windows CE之外的各种Windows平台.在使用这个模型之前应该确保该系统安装了Winsock2.重叠模型的基本设计原理是使用一个重叠的数据结构,一次投递一个或多个Winsock ...

  9. QS之vsim

    vsim - The vsim command invokes the VSIM simulator -L <library_name> … (optional) Specifies th ...

  10. phpExcel导出大量数据出现内存溢出错误的解决方法

    phpExcel将读取的单元格信息保存在内存中,我们可以通过 代码如下:PHPExcel_Settings::setCacheStorageMethod() 来设置不同的缓存方式,已达到降低内存消耗的 ...