Android Google登录并获取token(亲测有效)

这篇具有很好参考价值的文章主要介绍了Android Google登录并获取token(亲测有效)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:

Android 需要用到Google的登录授权,用去token给到服务器,服务器再通过token去获取用户信息,实现第三方登录。

我们通过登录之后的email来获取token,不需要server_clientId;如果用server_clientId还需要在google的控制台配置测试的账号,否则登录的时候会返回错误码10.

实现步骤:

1、 手机或者Pad连接可以访问google的网络

2、最外层的build.gradle增加依赖

dependencies {
    classpath 'com.google.gms:google-services:4.3.15'
}

app下的build.gradle增加依赖

implementation 'com.google.android.gms:play-services-auth:20.6.0'

3、初始化谷歌服务

val googleSignInOptions = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)

.requestEmail() .build()

//这里不要调用requestIdToken

mGoogleSignInClient = GoogleSignIn.getClient(activity, googleSignInOptions)

4、检查google 服务器是否可用,手机是否有环境

val isGooglePlayServicesAvailable=
    GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(activity)

5、如果没有环境,返回,流程结束

if (isGooglePlayServicesAvailable!= ConnectionResult.SUCCESS) {
    // 验证是否已在此设备上安装并启用Google Play服务,以及此设备上安装的旧版本是否为此客户端所需的版本
    GoogleApiAvailability.getInstance().makeGooglePlayServicesAvailable(activity)
    return@launchIO
}

6、如果有环境,调用google的登录,调转到第三方app

val signInIntent: Intent = mGoogleSignInClient!!.signInIntent
activity.startActivityForResult(
    signInIntent,
    100
)

7、重写Activity的这个方法,然后获取token文章来源地址https://www.toymoban.com/news/detail-787407.html

fun onActivityResult(requestCode: Int, data: Intent?) {
    if (requestCode == 100) {
      val completedTask: Task<GoogleSignInAccount> =
    GoogleSignIn.getSignedInAccountFromIntent(data)
val account: GoogleSignInAccount =
    completedTask.getResult(ApiException::class.java)
val status: Task<GoogleSignInAccount> = completedTask
if (!status.isSuccessful) {
    throw Exception(status.exception)
}

Log.d("测试", "account.email: " + account.email) var loginGoogleRequest = LoginGoogleRequest() loginGoogleRequest.bizId = CoreConstant.bizId // Obtain token for access gmail account var token: String =     GoogleAuthUtil.getToken(         CoreVariable.coreApplication,         account.email!!,         "oauth2:profile email"     )Log.d("测试", "token= " + token) }

到了这里,关于Android Google登录并获取token(亲测有效)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 13(targetSdkVersion:33)必需添加com.google.android.gms.permission.AD_ID

    关于这个问题个人觉得Google真有点变态。 大概的意思是:你要适配Android 13,必须将targetSdkVersion升至33,这都很正常;你必须添加com.google.android.gms.permission.AD_ID的权限获取,OK,虽然不知道我的APP没有广告为何一定要我加这个,你要加就加呗!!!但变态的是在提交新版本审核

    2024年02月11日
    浏览(38)
  • Android应用添加谷歌登录(Google Sign In)

    Android平台添加Google登录便于读取用户信息,也便于将应用发布到GooglePlay。 具体步骤如下,个人觉得还是比较繁琐的,一步一步来看吧。 服务账号创建项目 developers.google.com/workspace/g… 每个Google账号可以创建12个项目。 点击创建。 创建凭据 这里提示要先创建OAuth同意屏幕。

    2024年02月01日
    浏览(40)
  • 【Unity】Attribute meta-data#com.google.android.play.billingclient.version 多版本库冲突

    1、Unity 2021.3.9f1 2、Max由6.0.1至最新版本6.1.0 错误信息 Attribute meta-data#com.google.android.play.billingclient.version@value value=(6.1.0) from [com.android.billingclient:billing:6.1.0] AndroidManifest.xml:21:13-34 is also present at [:billing-5.2.1:] AndroidManifest.xml:25:13-34 value=(5.2.1). Suggestion: add ‘tools:replace=“android:val

    2024年01月18日
    浏览(81)
  • [技术篇] Android11上导入GMS后,登录Google账号提示“您的账号未成功添加”问题。

    在项目中导入Google框架,Google相关功能可以正常使用。 1、首先下载Google框架GMS包,可以在The Open GApps Project网站下载。选择相关配置后下载即可,有些包比较大,下载需要耐心等待一下,最好用外网下载会快一些。  2、由于本人使用的TV平台,Google版本需要使用手机版,不能

    2024年02月05日
    浏览(38)
  • 解决google翻译无法使用的问题(亲测有用)

    2022年10月1日,Google突然停止了Google翻译在中国大陆的业务,不再向中国大陆区域提供翻译服务,官方给出的理由是“因为使用率低”(这谁信啊!),导致我们日常无法使用谷歌翻译。 为了解决这个问题,我在网上搜索了大量方法,踩了许多坑(用不了),最终总结出一套

    2024年02月04日
    浏览(23)
  • 谷歌 google Gemini ai 使用教程(亲测可用)

    *Google Gemini 是一种大型语言模型,由 Google AI 训练。**它在一个巨大的文本和代码数据集上进行训练,能够生成文本、翻译语言、编写不同类型的创意内容,并以一种信息丰富的方式回答您的问题。 Gemini 还处于开发中,但它已经学会了执行许多类型的任务,包括: Gemini 的目

    2024年02月03日
    浏览(28)
  • com.google.guava:guava 组件安全漏洞及健康分析

    维护者 google组织 许可证类型 Apache-2.0 首次发布 2010 年 4 月 26 日 最新发布时间 2023 年 8 月 1 日 GitHub Star 48189 GitHub Fork 10716 依赖包 28,694 依赖存储库 219,576 Guava 是 Google 的一组核心 Java 库,其中包括新的集合类型(例如 multimap 和 multiset)、不可变集合、图形库以及用于并发、

    2024年02月10日
    浏览(34)
  • 安卓接入Google登录

    目录 1.配置Google Cloud 2.添加 Google Play 服务 3.添加Google sign代码 4.常见的CommonStatusCodes 后补Web clien(Auto-created for Google Sign-in)由来         首先要在 Google Cloud 中创建一个项目。左侧菜单-API和服务-凭据。进入之后先配置同意屏幕。   填写必必要的信息,应用名称、用户支持电子

    2024年02月01日
    浏览(28)
  • 【Google】关于Google Analytics埋点及API获取数据

    本文是在实际操作中踩到的一些坑,并不是操作手册。具体的还是需要仔细按照官方文档操作。 参考文档: https://developers.google.com/analytics/ 重点看标红的文档即可 普通事件埋点 各端需要跟产品端确定好统一的事件名称和参数,否则数据混乱,通过api获取数据非常不准确 以前

    2024年02月04日
    浏览(36)
  • https://chrome.google.com/webstore/category/extensions 无法访问

    \\\"https://chrome.google.com/webstore/category/extensions\\\" 网站无法访问可能是由于以下几种原因之一: 网络连接问题:检查您的网络连接是否正常,确保您能够访问其他网站。 网站维护:该网站可能正在维护中,请稍后再试。 浏览器问题:请确保您使用的是最新版本的Chrome浏览器,并且没

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包