如何获取已购买的应用程序列表,包括价格? [复制]

2023-12-01

背景

我有一个小应用程序(here)用于显示应用程序列表。

最近,我得知有一个应用程序(here)显示已购买的应用程序列表,包括其价格。

我已经测试过了,它确实显示了所有购买的应用程序,就像在 Google Play 网站上一样(here)

问题和我发现的问题

我什至不知道可以得到这样的列表,所以在我搜索了互联网之后,在这里,我仍然不明白这是如何完成的。

我所知道的是,这个应用程序使用了用户的一些身份验证,从他的 Google 帐户获取应用程序列表。

而且,我发现有一些非官方库(大多数都非常非常旧)可以从 Play 商店获取应用程序的信息,但似乎没有什么是官方的。

问题

  1. 可以使用什么API来获取已购买应用的信息?

  2. 它能做更多吗?也许执行搜索?也许显示已安装的免费应用程序?也许是安装和卸载的时间?这些应用程序的类别是什么?

  3. 使用该API有什么特殊要求吗?


因为这个问题有悬赏,所以它不允许我指向重复的问题,所以我会在这里做。

看起来有一篇文章提供了您能得到的最好答案here.

总而言之,您似乎需要向 Google 请求许可(通过 GoogleSignIn)。然后从帖子中:

如果可以获得完全访问权限,则可以找到帐户持有者使用的所有应用程序的列表,并将其与设备上的应用程序进行比较。

然后答案将涵盖如何查询包管理器可以让您访问已安装的应用程序:

包管理器将检索设备上当前安装的所有应用程序的列表。 PackageInfo 提供有关应用程序的详细信息。 INSTALL_REASON_USER 还将过滤掉用户已主动安装的应用程序。

您可能想查看 com.google.firebase.appindexing 和记录用户操作。可以跟踪不同的操作。

用户帐户历史记录位于https://myactivity.google.com/myactivity.

OAuth 2.0 Playground 是一个有用的链接。

我强烈建议继续该线程上的任何对话,因为它似乎更活跃并且有更多的赞成票。

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

如何获取已购买的应用程序列表,包括价格? [复制] 的相关文章

随机推荐

  • Node-Webkit (nwjs) 节点远程用法

    我想知道如果我想从服务器运行应用程序的一些逻辑 功能 是否有人可以给我一个关于 节点远程 如何工作的示例 就像 我不知道在 package json 添加 node remote hostip 后该怎么做 我的服务器应该提供什么 js 文件
  • Scala:确保大括号平衡

    我正在运行代码来平衡语句中的括号 我认为我已经得到了正确的结果 但它在一个特定的陈述上失败了 我需要理解为什么 这是测试 特别是它失败了 除了编码之外 我认为我需要修复算法 有什么指示吗 def balance chars List Cha
  • 将“Cookie”放入“CookieJar”中

    我正在使用PythonRequests库来发出 HTTP 请求 我从服务器获取文本形式的 cookie 我怎样才能把它变成CookieJar里面有饼干吗 旧版本的Requests图书馆 0 14 2和更老的 当你经过时 把新的饼干放进罐子里
  • 如何使用 Jquery 或 Javascript 更改 .CSS 文件?

    我想知道是否可以使用 Jquery 或 javascript 对 css 文件进行更改 我知道 我可以动态地将 css 属性 或类 添加到 DOM 元素 但我不想要那样 我想在 css 文件中进行更改以自定义 css 文件的 css 类 请
  • 如何为 EF Code First 配置 ProviderManifestToken

    我有一个使用 EF 代码优先的 asp net MVC3 项目 对于我的单元测试 我一直使用 SQL Server CE 4 0 和 SQL Server 2008 Express 两者都与 EF 完美配合 按预期生成我的数据库 但是 当我
  • Jackson Scala JSON 反序列化为案例类

    我有一个 JSON 其形式如下 inventory productType someProduct1 details productId Some id description some description productType so
  • 如何在 Puppeteer page.$eval 中传递函数/变量? [复制]

    这个问题在这里已经有答案了 我正在使用 Puppeteer 自动填写网络表单 每次 input 字段中的名称都应更改为数组中的不同名称 如果我直接在 page eval 函数中指定一个名称 例如 Michael 一切都会按预期工作 pupp
  • 删除序列化程序创建的空 xmlns

    我有一个由 添加服务引用 操作生成的对象 并且我使用我编写的通用序列化器手动序列化它 我的问题是数据契约有一些内部对象 序列化程序将一个空的命名空间属性添加到内部对象的起始标记中 有什么办法可以阻止这种情况发生吗 让你的内部对象与根属于同一
  • Rust 中的共享循环引用

    我正在尝试实现一个非常幼稚的线程池模型 目前线程池的职责是 create一个新线程并返回对其的引用 维护已创建线程的映射 根据线程触发的不同事件来改变线程 我的主要问题是上面的要求迫使我让线程池保持一个HashMap
  • 在 Spring Boot 2.0 中使用 Web 客户端访问 HTTPS RESTful 服务抛出异常

    我必须访问一个 https Rest Web 服务 https example com 其证书已由客户端提供 其中包含 2 个 cer 文件 我创造了keystore jks and truststore jks文件和imported th
  • 为什么 bash 中的“test -n”返回“true”?

    我想知道怎么来的 test n 返回 true 例如 if test n then echo yes else echo no fi 打印 yes 即使给出了 test 理论上 一个空长度字符串作为参数以及选项 n 它检查字符串长度是否为
  • Ubuntu,Docker - proxyconnect tcp:tls:收到长度为 20527 的超大记录

    我正在运行我构建的 docker 二进制文件 如下this 当我做一个docker pull 我收到此错误 来自守护程序的错误响应 获取https registry 1 docker io v2 proxyconnect tcp tls 收
  • 如何在处理中的draw()之后删除先前的形状

    我无法弄清楚这一点 我有一个草图 上面有一些旋转的小矩形 它们在每次绘制 时轮换 然而 之前的矩形仍然可见 我尝试移动背景 但它要么删除除一个矩形之外的所有矩形 要么不会清除屏幕 我希望能够在每次绘制后清除所有矩形 这是代码 Create
  • 当我在瀑布对话框中使用自适应卡的输入形式时,ContinueDialogAsync 不起作用

    我一直在使用 EchoBot 模板 最近使用了 VirtualAssistant 模板 在之前的模板中 提交输入表单数据没有问题 但是这个模板仅仅提交输入表单数据就无法与ContinueDialogAsync配合使用 我们该如何解决这个问题
  • C++ 中的堆栈、静态和堆

    我查了一下 但对这三个概念不太理解 我什么时候必须使用动态分配 在堆中 以及它的真正优势是什么 静态和堆栈有什么问题 我可以编写整个应用程序而不在堆中分配变量吗 我听说其他语言包含 垃圾收集器 因此您不必担心内存 垃圾收集器做什么 你可以自
  • RecyclerView 内项目中的工具提示(与项目上方重叠)

    我需要创建一个RecyclerView与多个ViewTypes 但是 在某些项目上 我需要显示Tooltip它应该悬停在上面的行上 My requirement is 上图中 有 4 个项目RecyclerView 并且下行中的工具提示应重
  • 多个选择框并将值作为 url 参数发送

    我有这个html
  • HTML 5

    我有一个简单的自动播放片段 可以播放音频文件 但是我想知道是在 JavaScript 中还是作为属性在特定时间播放该文件 例如 3 26
  • 字体很棒,输入类型“提交”

    font awesome 中似乎没有输入类型 提交 的类 是否可以使用 font awesome 中的某些类进行按钮输入 我已将图标添加到应用程序中的所有按钮 实际上与 twitter bootstrap 中的 btn 类链接 但无法在 输
  • 如何获取已购买的应用程序列表,包括价格? [复制]

    这个问题在这里已经有答案了 背景 我有一个小应用程序 here 用于显示应用程序列表 最近 我得知有一个应用程序 here 显示已购买的应用程序列表 包括其价格 我已经测试过了 它确实显示了所有购买的应用程序 就像在 Google Play