接入Google Sdk 遇到的坑
转自: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 遇到的坑相关推荐
- unity接入咪咕SDK遇到的坑
1.unity 4.3后默认会使用 arm-v7a . 2.CmApplication就是一个简单的.jar 当成全局变量使用
- 接入google game登陆遇到的一些坑
接入google game 登陆时遇到好多坑,以下是我遇到的一些问题 坑1.应用启动初始化时,显示链接失败,错误如下 onConnectionFailed : ConnectionResult{sta ...
- iOS 平台 接入新浪微博 SDK 的坑(registerApp 的问题)
转载:http://leenjewel.github.io/blog/2015/01/08/ios-ping-tai-cocos2d-x-xiang-mu-jie-ru-xin-lang-wei-bo ...
- android 添加ga_android开发步步为营之70:android接入Google Analytics总结
求人不如求己,今天项目里要接入Google Analytics,这个是做应用统计分析用的,可以查看当前手机活跃用户,事件点击等等数据,先看看效果: 之前eclipse里面接入已经成功,昨天项目组决定项 ...
- 接入Google fit指南
由于我司APP面向全球用户,在海外,google fit和fitbit有很大的用户群,所以需要同步数据到这两大平台. fitbit 按照官方文档接入,应用审核简单方便,同步数据也简单.这里就不再讲述. ...
- ios sdk 穿山甲_Creator iOS接入穿山甲SDK
首先介绍一下 .m文件与.mm文件有什么区别 .m文件 支持C ,OC .mm文件 支持C,C++,OC OC 与 TS 互调,例子有很多,比如官方的例子里面就有 TS 调用OC的时候有个点 初学者可 ...
- Unity接入Google登录
Unity接入Google登录 接入FireBaseSdk和GoogleSignIn插件 FireBase接入文档 GoogleSignIn 编写登录代码 可能出现的问题 运行时弹出Google登录界 ...
- Unity:Firebase接入Google登录
Unity:Firebase接入Google登录 开启Firebase的登录方式 问题小结 Google登录代码 调用登录代码 参考文章: 此文章只是粗浅之作,记录而已,有错望指出,不胜感激 开启Fi ...
- 教你接入Google谷歌支付V3版本,图文讲解(Android、Unity)
文章目录 一.前言 二.Google支付官方文档 三.Google支付Github Demo工程 四.Google支付流程图 五.Google支付接口讲解 1.初始化(监听支付事件) 2.连接Goog ...
最新文章
- 可变数组集合ArrayList
- mysql aa复制_MySQL主从复制实现
- 电子测量与仪器第四版pdf_固定资产管理系统_资产分类名称(电子和通信测量分析仪器篇)...
- 信创产业已成现象级新风口,快来加入争做“弄潮儿”
- GridView控件日期格式化
- ROC曲线与AUC以及LIFT
- 【Windows】要不要升级Win11?Win11与Win10界面对比体验
- excel线性拟合的斜率_Excel 计算线性回归线斜率:SLOPE函数
- 微软windows10易升_Win10 如何摆脱易升这个流氓软件,如何拒绝每半年一次的大更...
- OA是什么?OA系统,OA,OA解决方案有哪些,OA有什么功能,OA有什么作用
- 事件查看器-Windows程序闪退原因查看方法
- 苹果笔记本 麦克风设置
- RP网页设计中的默认字体:{font: 12px/1.5 Tahoma, Helvetica, Arial, sans-serif;}
- fastreport 打印有 demo version字样_用户增长留存的数字化管理实操, 11大行业demo重构你的运营方法论...
- 洛谷 P2884 【[USACO07MAR]每月的费用Monthly Expense】
- 关于寒武纪的前世今生与未来
- Python数据拟合幂函数y=ax^b
- JavaScript 实现textarea限制输入字数, 输入框字数实时统计更新,输入框实时字数计算移动端bug解决...
- python求平均数和中位数
- 计算机光驱图标符号,WinXP光驱图标不见了如何找回?