配置Google支付相关参数(client_id, client_secret, refresh_token)
1. 登陆Google开发者账号,点击左边API权限

创建新项目
- 转到 Google Play 管理中心的 API 权限页面。
- 接受《服务条款》。
- 点击创建新项目。
系统会自动生成 Google Cloud 项目,并将其关联到您的 Google Play 管理中心。
2. 配置服务账号
转到 Google Play 管理中心的 API 权限页面,点击服务帐号下的创建新的服务帐号。

在创建帐号的过程中,您需要向自己的服务帐号授予对 Cloud 项目的访问权限,这样它才能显示在 Google Play 管理中心内。

点击Google cloud platform创建,先将Google play项目和自动创建的cloud platform项目绑定

然后点击创建服务账号

填入名称即可,其他都是可选。
完成后可以下载密钥保管到电脑上

在 Google Play 管理中心创建服务帐号后,点击完成。API 权限页面的“服务帐号”部分会自动刷新,您的服务帐号将随即列出。

点击授予访问权,为服务帐号提供执行相关操作所需的权限。此时,您应该能够通过服务帐号访问 Google Play Developer API。如需了解详情,请参阅针对服务器对服务器应用使用 OAuth 2.0。
3. 创建OAuth客户端
在创建 OAuth 客户端之前,您需要为产品配置品牌信息。
转到 Google Play 管理中心的 API 权限页面。点击 OAuth 客户端下的配置 OAuth 权限请求页面。由于我已经配置了相关信息,这里就没有显示配置客户端而是创建客户端。

配置产品的品牌信息。完成配置后,点击刷新 OAuth 权限请求信息。此部分会相应更新,您不会再看到与品牌信息有关的消息。
然后再创建客户端

- 创建好了之后查看客户端id和客户端密钥即client_id和client_secret

- 其中的重定向url可以问后端要
在 Google Play 管理中心创建 OAuth 客户端后,点击完成。API 权限页面的 OAuth 客户端部分会自动刷新,您的 OAuth 客户端将随即列出。
有时新的 OAuth 客户端不会立即显示在页面上。在这种情况下,请点击刷新 OAuth 客户端。新 OAuth 客户端的详细信息会以列表形式显示在此页面上。
4. 获取您的开发者 ID
有些 API 需要您提供 Google Play 管理中心开发者 ID。这是在创建您的 Google Play 开发者帐号时分配的一个长号码。您可以在 Google Play 管理中心内几乎任何页面(例如 API 权限页面)的网址中找到您的开发者 ID。
以 Google Play 管理中心的网址为例:
https://play.google.com/console/developers/1234567890123456789/api-access
在以上网址中,开发者 ID 为
1234567890123456789。注意:当应用从一个 Google Play 开发者帐号转移到另一个 Google Play 开发者帐号时,与该应用关联的开发者 ID 将会发生变化。这意味着,转移完成后,在该应用的 API 调用中,您将必须使用新的 Google Play 开发者帐号的开发者 ID。
5. 生成刷新令牌(refresh_token)
先使用你的Google play账号登陆后,转到以下uri:
https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=...&client_id=...
将上一步填写的重定向uri和client_id填入
注意:
redirect_uri参数必须与使用客户端 ID 注册的值完全匹配,包括末尾的反斜杠(如果有)。看到系统提示时,请选择允许访问。
- 如果有多个账号,选择你的开发者账号

浏览器将使用
code参数重定向到您的重定向 URI,该参数类似于4/eWdxD7b-YSQ5CNNb-c2iI83KQx19.wp6198ti5Zc7dJ3UXOl0T3aRLxQmbwI在之后的uri中找到code
将该代码替换为访问权限和刷新令牌组合,为此,您需要向
https://accounts.google.com/o/oauth2/token发送 POST 请求,并设置以下字段:grant_type=authorization_code
code=<the code from the previous step>
client_id=<the client ID token created in the APIs Console>
client_secret=<the client secret corresponding to the client ID>
redirect_uri=<the URI registered with the client ID>
然后使用postman

成功响应后,获得refresh_token
{
"access_token" : "ya29.ZStBkRnGyZ2mUYOLgls7QVBxOg82XhBCFo8UIT5gM",
"token_type" : "Bearer",
"expires_in" : 3600,
"refresh_token" : "1/zaaHNytlC3SEBX7F2cfrHcqJEa3KoAHYeXES6nmho"
}
注意,只有第一次请求会返回refresh_token,请妥善保管
然后,在后台将内购所需要的client_id,client_secret,refresh_token一一配置,大功告成~
参考文章
https://blog.csdn.net/chenglinlin526/article/details/78086127
https://developers.google.com/android-publisher/getting_started?hl=zh-cn
https://developers.google.com/android-publisher/authorization
配置Google支付相关参数(client_id, client_secret, refresh_token)的更多相关文章
- Android Studio 2.2以上支持了Cmake的配置JNI的相关参数
Android Studio 2.2以上支持了Cmake的配置JNI的相关参数,简化了通过Android.mk配置.并很好的继承了C++的编辑方式.以下是对应的引入第三方so和第三方.cpp文件的路径 ...
- Spark 性能相关参数配置详解-任务调度篇
随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化. 由于篇 ...
- JVM相关参数配置和问题诊断<转>
原文连接:http://blog.csdn.net/chjttony/article/details/6240457 1.Websphere JVM相关问题诊断: 由JVM引起的Websphere问题 ...
- hadoop和spark相关参数的配置
背景 MapReduce和Spark对外提供了上百个配置参数,用户可以为作业定制这些参数以更快,更稳定的运行应用程序.本文梳理了最常用的一些MapReduce和Spark配置参数. MapReduce ...
- Yarn 内存分配管理机制及相关参数配置
上一篇hive on tez 任务报错中提到了containter内存不足,现对yarn 内存分配管理进行介绍 一.相关配置情况 关于Yarn内存分配与管理,主要涉及到了ResourceManage. ...
- 电机噪声之谐波分析(内附simulink中FFT分析的相关参数配置与解析)
电机噪声之谐波分析(内附simulink中FFT分析的相关参数配置与解析) 目录 电机噪声之谐波分析(内附simulink中FFT分析的相关参数配置与解析) 写在前面 正文 电机噪声 谐波的产生 什么 ...
- Nginx一直报504超时,配置相关参数好了
相关参数:large_client_header_buffers 4 16k;client_max_body_size 30m;client_body_buffer_size 128k;proxy_c ...
- google支付回调验证
原文链接: https://my.oschina.net/lemonzone2010/blog/398736 Google支付问题 20150218,挂机的日本服务器出现google支付被刷单现象,虽 ...
- Vue — 微信公众号内置h5支付相关
首先,在公众号后台配置h5页面地址 开发流程 1.通过配置h5地址,获取code.再通过code,获取openid getOpenid(){ let url = 'https://open.weixi ...
随机推荐
- ASP.NET Core 学习笔记 第一篇 ASP.NET Core初探
前言 因为工作原因博客断断续续更新,其实在很早以前就有想法做一套关于ASP.NET CORE整体学习度路线,整体来说国内的环境的.NET生态环境还是相对比较严峻的,但是干一行爱一行,还是希望更多人加入 ...
- 深入思考软件工程,开启 DevOps 之旅
20 世纪 60 年代,软件开始脱离硬件,逐渐成为一个独立产业.至今,软件开发过程从瀑布模型.CMM/CMMI,到 20 年前敏捷的诞生,再到今天 DevOps 的火热,一代代软件人在思考和探索,如何 ...
- 题解 [HAOI2016]字符合并
题目传送门 Description 有一个长度为 \(n\) 的 \(01\) 串,你可以每次将相邻的 k 个字符合并,得到一个新的字符并获得一定分数. 得到的新字符和分数由这 k 个字符确定.你需要 ...
- 魔改swagger:knife4j的另外一种打开方式
之前公司使用了swagger作为文档管理工具,原生的swagger-ui非常丑,之后就用了开源项目 萧明 / knife4j 的swagger组件进行了swagger渲染,改造之后界面漂亮多了,操作也 ...
- Lynis 漏洞扫描工具部署及效果展示
Lynis 漏洞扫描工具部署及效果展示 介绍 Lynis是一个安全审计工具,它可以在Linux,macOS和其他基于Unix的系统上运行.Lynis的主要重点是执行系统的运行状况检查,它还有助于检测漏 ...
- pycharm环境下配置scrap爬虫环境
[写在开头] 参考文章后面给出了备注信息,是在解决这个问题的时候,查找的比较有亮点的参考文章,如果本文章写的不太清楚的,可以去原文章进行查看.下面列举的四个文章有参考的成分也有验证的成分,解决办法重点 ...
- for...in和Object.keys()区别
区别: for in 用来枚举对象的属性,某些情况下,可能按照随机顺序遍历数组元素 object.keys() 可以返回对象属性为元素的数组,数组中属性名顺序和for in比那里返回顺序一样 ---f ...
- 【Java虚拟机9】类加载器之命名空间详解
前言 前面介绍类加载器的时候,介绍了一下命名空间这个概念.今天就通过一个例子,来详细了解一下[类加载器的命名空间].然后通过这个例子,我们可以总结一下双亲委托模型的好处与优点. 例1(不删除class ...
- 什么,你还使用 webpack?别人都在用 vite 搭建项目了
一.vite 到底是干嘛的? vite 实际上就是一个面向现代浏览器,基于 ES module 实现了一个更轻快的项目构建打包工具. vite 是法语中轻快的意思. vite 的特点: 1.轻快的冷服 ...
- 【UE4】GAMES101 图形学作业3:Blinn-Phong 模型与着色
总览 在这次编程任务中,我们会进一步模拟现代图形技术.我们在代码中添加了Object Loader(用于加载三维模型), Vertex Shader 与Fragment Shader,并且支持了纹理映 ...