GooglePlay 服务器确认购买(acknowledge)简述

2023-05-16

Console后台配置

配置流程如下:

  1. 创建OAuth client
    1. 创建的时候选择Web application
    2. Authorized redirect URIs,需要填写,后面会用到,随便填一个,后面可以修改
    3. OAuth consent screen 的Test Users中添加Google Play Console账户
  2. 创建Service accounts
  3. 设置Acess里设置,App permissions中添加对应的App,Access permissions中勾选Manage orders and subscriptions

获取Token和RefreshToken

  1. 用浏览器打开以下地址,用上面Test Users中添加Google Play Console账户登录,获取code(redirect_uri为上面的1-2部分),参数重定向到您的重定向 URI,该参数类似于 4/eWdxD7b-YSQ5CNNb-c2iI83KQx19.wp6198ti5Zc7dJ3UXOl0T3aRLxQmbwI
    https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=...&client_id=...
  2. 用PostMan,获取Token和RefreshToken,注意保存好RefreshToken

  3. 用Curl命令测试acknowledge,红色部分需要替换

 curl --request POST \
  'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/packageName/purchases/products/productId/tokens/inapptoken:acknowledge' \
  --header 'Authorization: Bearer Token' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{}' \
  --compressed

 如果收到400错误,表示购买过期了,如果是测试账户购买5分钟后过期,如果没有acknowledge,会收到退款消息,如果正式账户购买3天后过期

刷新Token

问题及解决方法

Refresh Token过期问题

用了一段时间发现,每隔一周,RefreshToken就失效了,查阅了资料,要在同意屏幕页面将状态变为发布状态(或者尝试用jwt-bear的方式获取Token:https://developers.google.com/identity/protocols/oauth2/service-account

https://blog.frost.tw/posts/2019/12/29/How-to-use-Service-Account-to-exchange-Google-OAuth2-API-token/

https://developers.google.com/identity/protocols/oauth2#expiration

A Google Cloud Platform project with an OAuth consent screen configured for an external user type and a publishing status of "Testing" is issued a refresh token expiring in 7 days.

Malformed auth code

dhttps://www.urldecoder.org/   将code解码

无Refresh Token

只有第一次授权才会有RefreshToken,到以下地方删除授权,重新获取

https://myaccount.google.com/u/0/permissions

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GooglePlay 服务器确认购买(acknowledge)简述 的相关文章

  • Android 8 或更高版本:检查 Google Play 服务

    此方法不断返回 0 根据开发人员文档 如果设备安装了最新版本的 google play 此方法应返回类似 SUCCES 的内容 有人知道如何使用这个吗 Override public void onResume super onResume
  • Visual Studio Android ApkSigner 在密钥库中找不到密钥

    我在 Visual Studio 中创建 APK 时收到此错误 Failed to load signer signer 1 C googleplay keystore entry googleplay does not contain a
  • 在清单中指定 Android Market RAM

    有些人继续在具有 100MB RAM 的手机上下载并安装我们的高清游戏 并给我们一个差评 有没有办法将应用程序下载限制为仅具有大量内存的智能手机 或者限制为新型号 CPU 我的最终解决方案来自 Raghav Sood 的提示 经过一番研究后
  • 是否可以将自定义参数传递给 android market,以便我的应用程序在首次启动时收到它?

    有没有办法将自定义参数传递给 android market 或任何其他方式 以便我的应用程序在安装后 并首次运行 接收该参数 让我解释 使用 argument1 Hello world1 自定义参数 每一个 时间 从 Android 市场安
  • 无法在 Google Play 开发者控制台中的 Android Wear 上分发应用程序

    我正在尝试通过 Google Play 开发者控制台提交我新创建的 Android Wear 表盘 问题是定价和分发部分中的 在 Android Wear 上分发您的应用程序 复选框被禁用 我不明白为什么 我做了什么 1 上传Android
  • 如何将隐私政策添加到我的应用程序中,而不仅仅是在商品详情中

    我收到来自 Google Play 团队的以下电子邮件 您好 Google Play 开发者 我们的记录显示您的应用 XXXX 带有软件包 名称 com XXX XXX 目前违反了我们的用户数据政策 关于个人和敏感信息 政策问题 Googl
  • Google Play 商店中的下载次数是如何计算的?

    Google Play 商店中显示的下载次数是根据生命周期数字计算的吗 我的应用程序 Match4app 在 Google Play Console 上显示 5 10 K 用户安装量 生命周期 然而 在 Google Play 商店上它只显
  • 安卓应用安全

    我想开发一个用户数据非常敏感的应用程序 我是开发新手 所以不确定以下内容 技术对于安全或高效来说是必要的 请留下您的评论 提前致谢 为了额外的安全性 我们可以避开市场 游戏商店 并将应用程序安装在个人设备上 它会让它更安全吗 我必须在设备上
  • 限制特定设备销售应用程序?

    是否可以通过特定设备或设备的功能 屏幕分辨率 处理器 磁盘空间等 来限制 Android Market 上应用程序的销售 我知道我会受到人们的轰炸 他们说如果你的应用程序设计得好 它应该能够在任何尺寸的设备上运行 这一切都很好 但出于某些原
  • 安卓市场。 Google Checkout 和银行帐户

    请原谅 这不是一个编程问题 但它仍然与软件开发有关 所以我希望它没问题 为付费应用创建 Android 开发者帐户意味着注册一个 GoogleCheckout 帐户 这又意味着将其链接到来自这 31 个符合条件的国家 地区之一的银行帐户 有
  • 4 天后,应用仍未在 Google Play 搜索中编入索引

    我已经在 4 天前在 google play 上发布了我的第一个应用程序 语音到短信 但我仍然无法通过其名称或开发人员名称在搜索中找到我的应用程序 我只能通过包名称或真实应用程序名称 但不带空格 找到我的应用程序 VoiceToSMS 链接
  • Google Play Beta:“应用程序不适用于此帐户”消息

    有没有人遇到过所有成员都遇到的问题谷歌测试组能够获得测试版 除了一个问题之外没有任何问题 这位拥有有效 Gmail 地址的用户已加入用于 Beta 测试的 Google Grouped 作为管理员 我可以看到他们的状态是member 当他们
  • 无法在自定义 AOSP 上安装 Google Play 中的某些应用程序:项目不可用。理由:9

    我在尝试从 Google Play 安装某些应用程序时收到以下错误 LibraryUtils isAvailable not available restriction 9 DocUtils getAvailabilityRestricti
  • 如何使用 private_key.pepk 签署 Android 应用程序

    我在 Google Play 中有一个应用程序 现在我需要发布该应用程序的新版本 2 如何使用 private key pepk 签署 Android 应用程序 我丢失了 Java 密钥库 jks 或 keystore 我只有 privat
  • 检查应用程序是否在 Android Market 上可用

    给定 Android 应用程序 ID 包名称 如何以编程方式检查该应用程序是否在 Android Market 上可用 例如 com rovio angrybirds 可用 而 com random app ibuilt 不可用 我计划从
  • 如何从我的 Android 市场帐户中删除已发布的应用程序?

    我已经在 Android 市场网站上发布了 apk 文件 但有一个错误 但我想从 Android 市场中删除该应用程序 如何从我的 Android Market 帐户中删除已发布的应用程序 以下场景尝试删除应用程序 在申请页面点击升级 gt
  • Flutter android 风味生成 apk

    我正在尝试使用 flutter 设置 Android 风格 我有两个入口点 lib main prod dart lib main dev dart 我还在我的 gradle 文件中添加了以下内容 flavorDimensions vers
  • Google Play 预发布报告崩溃:java.lang.NoSuchMethodError

    我的 Google Play 发布前报告中出现了一些非常奇怪的行为 而且这才刚刚开始发生 但我无法将其归因于我所做的任何更改 我自己也无法重现这个问题 在预发布报告中 每个测试设备似乎都失败了 6 6 设备都以同样的方式失败 然而 在真实设
  • 从 Android 市场安装。未知原因-102

    当我尝试从 Android 市场安装测试我的应用程序时 收到此错误消息 安装错误 接下来是 未知原因 102 这是我的apk还是我的手机 我通过使用不同的签名证书解决了这个问题 Android 文档建议寿命为 10 000 天 但现在创建了
  • 如何实施 Android 应用内订阅 API 以按月订阅我的应用程序?

    我制作了一个应用程序 想在 Google Play 上发布 并想为此应用程序设置每月订阅计划 例如 第一个月我会给应用程序作为一个月的试用 之后每个月我将收取 1 美元来使用我的应用程序服务 我研究过 Android In App Subs

随机推荐

  • Nginx在Linux下常用的命令

    一 命令说明 选项说明 h帮助命令 v查看版本号 V查看版本号和配置选项 可用类查看已安装的所有模块 t测试配置文件是否正确 T测试nginx conf文件是否存在语法错误 q优雅停止nginx xff0c 有连接时会等连接请求完成再杀死w
  • ubuntu安装nginx与卸载

    一 安装nginx 1 前言 安装nginx 主要有2种方式 1 直接使用 sudo apt get install nginx 2 使用源码的形式安装 本次主要记录的是使用源码安装 2 下载nginx源码 a nginx官网下载地址 gt
  • ping不通Linux服务器怎么办?

    问题描述 xff1a ping是最常见的网络命令 xff0c 用来测试和远程机器是否连通的方法 我们常常会遇到一个问题 xff1a 无法ping一台远程主机 原因分析 xff1a ping不通远程机器 xff0c 最常见的原因有 xff1a
  • Nginx 学习 2: nginx进程模型

    一 概述 nginx有两类进程 xff0c 一类称为master进程 相当于管理进程 xff0c 另一类称为worker进程 xff08 实际工作进程 xff09 启动方式有两种 xff1a 单进程启动 xff1a 此时系统中仅有一个进程
  • nginx学习 3: Nginx 核心配置详解

    一 结构说明 说明 main 配置影响nginx全局的指令 一般有运行nginx服务器的用户组 xff0c nginx进程pid存放路径 xff0c 日志存放路径 xff0c 配置文件引入 xff0c 允许生成worker process数
  • Android中最佳实践@BindView代替繁琐的findViewById

    ButterKnife ButterKnife是一个专注于Android系统的View注入框架 以前总是要写很多findViewById来找到View对象 xff0c 有了ButterKnife可以很轻松的省去这些步骤 是大神JakeWha
  • 从零开始设计一款APP之Android设计规范篇

    一 基础概念 1 什么是DPI xff1f DPI xff08 Dots Per Inch xff09 xff1a 每英寸点数 xff0c 表示指屏幕密度 是测量空间点密度的单位 xff0c 最初应用于打印技术中 xff0c 它表示每英寸能
  • 从零开始做App 系列之项目立项+预估时间篇

    UI 设计师从零开始做一个App 要经历哪些流程 xff1f 这个系列的文章会为新手一一讲解 本篇会为你讲解如何做项目立项和项目预估时间 xff0c 实用高效 xff0c 新手来收 项目立项篇 如果你所在的是一个团队健全的公司 xff0c
  • 从零开始设计一款APP之如何做原型图

    这个系列的文章把整个设计过程的经验总结成文 xff0c 逐点分享 xff0c 上期是概述 43 立项 xff0c 这期聊聊低保真和高保真原型图的作用 处理工具和文件要求等 Low fi xff0c 即低保真原型图 xff0c 整个APP设计
  • 从零开始教你做高保真原型图+UI 设计规范

    Hi fi 输出 上篇文章提到 xff0c 在Hi fi阶段大概可以分为前期 中期和后期三个阶段 这篇文章就是对Hi fi阶段的详细解说 前期 前期的主要任务是hero screen xff08 主功能页面 xff09 的尝试设计 xff0
  • 从零开始设计一款APP之如何做好整理和交接工作

    文件整理 整理的目的一方面是为了让自己和团队查找文件更加方便 xff1b 二是让自己的思维更有逻辑性 xff0c 工作更加高效 xff1b 三是我有属于设计师的强迫症 xff08 开个玩笑 xff0c 可以忽略 xff09 文件的整理分为文
  • 解决Ubuntu无法进行SSH连接的问题(以及如何使用SSH)

    我们在VM中安装好Ubuntu 虚拟机后 xff0c 经常需要使用Xshell ssh等工具进行远程连接 xff0c 方便我们在两个操作系统中进行文件的复制与移动 xff0c 但是有时候会出现无法连接的问题 xff0c 原因可能是Ubunt
  • Ubuntu 系统如何使用 root 用户登录实例

    Ubuntu 系统的默认用户名是 ubuntu xff0c 并在安装过程中默认不设置 root 帐户和密码 如有需要 xff0c 可在设置中开启允许 root 用户登录 具体操作步骤如下 xff1a 1 使用 ubuntu 帐户登录服务器
  • 输出一个纯英文字符串中出现次数最左的单词和次数,如果有几个次数最多的单词,全部输出...

    public static void main String args String str 61 34 aaaaaaaaaaaacvjjfhgjfZXfkMKOOOOOOOOOOOOOJDooooooooooooojlngmbgghcda
  • git 删除历史提交中的某个文件,包含所有记录,过滤所有记录

    git 删除历史提交中的某个文件 xff0c 包含所有记录 xff0c 过滤所有记录 一 问题描述 有时候 xff0c 我们需要删除历史记录中的某个文件 比如在你开发一个项目的时候 xff0c 刚开始是闭源的 xff0c 里面可能包含一些比
  • mysql 查询删除重复数据,保留其中一条数据

    一 查询重复数据 根据多个字段查询重复数据 SELECT FROM table name a WHERE a 字段1 a 字段2 IN SELECT 字段1 字段2 FROM table name GROUP BY 字段1 字段2 HAVI
  • npm命令失效

    mac系统上单独升级了npm命令后 xff0c 因为node版本过低没有提前升级 xff0c 造成npm命令无法使用 ERROR npm v9 6 2 is known not to run on Node js v10 15 1 You
  • Spring框架简介和简单使用

    Spring框架 Spring是一个开源的框架 xff0c 为简化企业级应用开发而生 xff0c 它的理念包括 IOC Inversion of Control xff0c 控制反转 和 AOP Aspect Oriented Progra
  • 解决无法在浏览器中访问CSDN——重新设置DNS

    文章目录 无法在浏览器中访问CSDN修改DNS备注 无法在浏览器中访问CSDN 参考资料 xff1a 还在愁csdn进不去吗 xff0c 看这里https blog csdn net m0 57645132 article details
  • GooglePlay 服务器确认购买(acknowledge)简述

    Console后台配置 配置流程如下 xff1a 创建OAuth client 创建的时候选择Web applicationAuthorized redirect URIs 需要填写 xff0c 后面会用到 xff0c 随便填一个 xff0