转自:https://blog.csdn.net/msn465780/article/details/80765391

最近在做Facebook 和google第三方登录,Facebook一气呵成,看着官方文档一步一步走,几乎没啥问题

Facebook登录 文档地址

https://developers.facebook.com/docs/facebook-login     点击打开链接

Facebook登录权限  文档地址

https://developers.facebook.com/docs/facebook-login/permissions    点击打开链接

这个权限文档有啥用呢,比如像获取该用户的email、年龄、性别等,就需要指定相关权限

Google登录  文档地址

https://developers.google.com/identity                            点击打开链接

不管哪种第三方登录,国内国外的,都是通过他们的SDK返回用户相关信息,其中最重要的就是

userId和accessToken,一般的做法就是用这个accessToken再调用自己服务端的接口,我们的服务端

拿到这个accessToken后去验证以及返回用户资料信息给客户端,以后的步骤就和SDK无关了。

接下来看看Google登录的流程

当然前置步骤一定要有,就是审核之类APP之类的,那些照着文档走就可以了,这里主要讲坑,坑,坑

第一个坑,直接复制官方文档代码,获取不到 IdToken,正确代码如下:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestEmail().requestIdToken(GradApplication.getGrindrApplication().getString(R.string.server_client_id)).build();

必须加上

.requestIdToken(GradApplication.getGrindrApplication().getString(R.string.server_client_id))

第二个坑,server_client_id从哪来?

https://console.developers.google.com/apis/credentials        点击打开链接

这就是获取的地方,选择相应的App后,选择Credentials(凭据)如图:

一般都有几个server_client_id,但是选哪个呢?

选择web client 对应的最新的那个就可以了

第三个坑,IdToken不是AccessToken,如果我们的后端需要token,就传给他AccessToken,这个坑我搞了很久,

太可恶了,下面看下如何获取AccessToken

官方文档地址:

https://developers.google.com/identity/sign-in/android/offline-access      点击打开链接

需要传几个参数来请求AccessToken,其实官网推荐让后端来请求,但是有时呢人在江湖身不由己,还得客户端请求,

注意一点:client_secret.json从哪来的呢?地址?

https://console.developers.google.com/apis/credentials           点击打开链接

前面贴那张图server_client_id旁边有个下载按钮,下载来后样子如下:

里面有请求需要的参数

第四个坑,https://www.googleapis.com/oauth2/v4/token  这个接口请求老是报错,说invalid_grant_type,

坑死宝宝了,最后知道原因了,请求的时候需要用Content-Type: application/x-www-form-urlencoded,

不能用Content-Type: application/json。

OK,到这里应该坑都平了,又可以愉快玩耍了。

接入Google Sdk 遇到的坑相关推荐

  1. unity接入咪咕SDK遇到的坑

    1.unity 4.3后默认会使用 arm-v7a . 2.CmApplication就是一个简单的.jar 当成全局变量使用

  2. 接入google game登陆遇到的一些坑

    接入google game 登陆时遇到好多坑,以下是我遇到的一些问题 坑1.应用启动初始化时,显示链接失败,错误如下 onConnectionFailed : ConnectionResult{sta ...

  3. iOS 平台 接入新浪微博 SDK 的坑(registerApp 的问题)

    转载:http://leenjewel.github.io/blog/2015/01/08/ios-ping-tai-cocos2d-x-xiang-mu-jie-ru-xin-lang-wei-bo ...

  4. android 添加ga_android开发步步为营之70:android接入Google Analytics总结

    求人不如求己,今天项目里要接入Google Analytics,这个是做应用统计分析用的,可以查看当前手机活跃用户,事件点击等等数据,先看看效果: 之前eclipse里面接入已经成功,昨天项目组决定项 ...

  5. 接入Google fit指南

    由于我司APP面向全球用户,在海外,google fit和fitbit有很大的用户群,所以需要同步数据到这两大平台. fitbit 按照官方文档接入,应用审核简单方便,同步数据也简单.这里就不再讲述. ...

  6. ios sdk 穿山甲_Creator iOS接入穿山甲SDK

    首先介绍一下 .m文件与.mm文件有什么区别 .m文件 支持C ,OC .mm文件 支持C,C++,OC OC 与 TS 互调,例子有很多,比如官方的例子里面就有 TS 调用OC的时候有个点 初学者可 ...

  7. Unity接入Google登录

    Unity接入Google登录 接入FireBaseSdk和GoogleSignIn插件 FireBase接入文档 GoogleSignIn 编写登录代码 可能出现的问题 运行时弹出Google登录界 ...

  8. Unity:Firebase接入Google登录

    Unity:Firebase接入Google登录 开启Firebase的登录方式 问题小结 Google登录代码 调用登录代码 参考文章: 此文章只是粗浅之作,记录而已,有错望指出,不胜感激 开启Fi ...

  9. 教你接入Google谷歌支付V3版本,图文讲解(Android、Unity)

    文章目录 一.前言 二.Google支付官方文档 三.Google支付Github Demo工程 四.Google支付流程图 五.Google支付接口讲解 1.初始化(监听支付事件) 2.连接Goog ...

最新文章

  1. 可变数组集合ArrayList
  2. mysql aa复制_MySQL主从复制实现
  3. 电子测量与仪器第四版pdf_固定资产管理系统_资产分类名称(电子和通信测量分析仪器篇)...
  4. 信创产业已成现象级新风口,快来加入争做“弄潮儿”
  5. GridView控件日期格式化
  6. ROC曲线与AUC以及LIFT
  7. 【Windows】要不要升级Win11?Win11与Win10界面对比体验
  8. excel线性拟合的斜率_Excel 计算线性回归线斜率:SLOPE函数
  9. 微软windows10易升_Win10 如何摆脱易升这个流氓软件,如何拒绝每半年一次的大更...
  10. OA是什么?OA系统,OA,OA解决方案有哪些,OA有什么功能,OA有什么作用
  11. 事件查看器-Windows程序闪退原因查看方法
  12. 苹果笔记本 麦克风设置
  13. RP网页设计中的默认字体:{font: 12px/1.5 Tahoma, Helvetica, Arial, sans-serif;}
  14. fastreport 打印有 demo version字样_用户增长留存的数字化管理实操, 11大行业demo重构你的运营方法论...
  15. 洛谷 P2884 【[USACO07MAR]每月的费用Monthly Expense】
  16. 关于寒武纪的前世今生与未来
  17. Python数据拟合幂函数y=ax^b
  18. JavaScript 实现textarea限制输入字数, 输入框字数实时统计更新,输入框实时字数计算移动端bug解决...
  19. python求平均数和中位数
  20. 计算机光驱图标符号,WinXP光驱图标不见了如何找回?

热门文章

  1. 怎么把用vue写的前后台项目打包上传到服务器让其能访问
  2. 【python小作业】编写函数,接收一个任意字符串,返回其中最长的数字字串。要求使用正则表达式。
  3. [ 数据集 ] COCO 数据集介绍
  4. ContentProvider介绍
  5. ds3617xs 华擎J3455 无线网卡m.2装千兆网卡组成链路聚合
  6. 点击刷新按钮实现listview的数据刷新
  7. SQL中存储过程和函数的标准写法
  8. SaaS行业持续升温,这里有你想了解的SaaS云服务优势
  9. c++实现推箱子游戏(带链表)
  10. 【技术分享】IS-IS 概述