- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我最近发现了这个应用程序 Purchase Apps ,在我使用我的谷歌帐户登录后,它能够以某种方式检索我在谷歌游戏中支付的应用程序。
我正在尝试了解它是如何完成的,因为我想构建一个类似的应用程序,但对于已下载的免费应用程序。
但是,我找不到用于检索该信息的 OAuth API 范围,即使在通过 the entire list of APIs 之后也是如此。 .
编辑:正如我问过的关于 here 的类似问题所建议的那样,我正在对这个问题提出新的赏金。 ,并且因为在这里和那里我没有看到关于如何做到这一点以及可以用它做什么的真正答案。
我想将问题细化为多个部分:
什么API可以用来获取已购买应用的信息?我在哪里可以读到它?请展示一个完整的工作示例。
它还能做得更多吗?也许执行搜索?也许显示已安装的免费应用程序?也许是安装和卸载它们的时间?以及这些应用的类别?
使用此 API 有什么特殊要求吗?
编辑:我为此付出了最大的赏金,因为无论我阅读和尝试了多少,我仍然无法创建一个可以从 Play 商店查询用户曾经下载过的应用程序的 POC(名称、软件包名称、安装和/或删除日期、图标 URL、价格...),包括付费和免费应用程序。
如果有人找到了一个可行的示例,请说明它是如何完成的,并说明您是如何找到它的(文档或任何帮助您找到解决方案的东西)。我在任何地方都找不到它,而且这里的当前解决方案对我来说太模糊了。
最佳答案
问题已解决。该漏洞利用已关闭。
We will be closing this bug due to being logged in a Preview version of Android. If the issue is still relevant and reproducible in the latest public release (Android Q), please capture a bugreport and log the bug in https://source.android.com/setup/contribute/report-bugs. If a reply is not received within the next 14 days, this issue will be closed. Thank you for your understanding.
最新更新:
这是一个错误,Google将在下一次更新中解决。
We've deferred this issue for consideration in a future release. Thank you for your time to make Android better
这个答案已经变成了一个想法的集合,并被编辑以在评论中包含来自讨论的信息。
androidmarket
api,将是自定义的 api开发商写的。它不向公众开放。
在评论中解决您的疑虑。开发人员将利用 Android Developer 和 Google 提供的当前 API 来创建一个管理所有这些的项目。
至于访问完整帐户访问权限
,我不确定这些开发人员究竟是如何做到这一点的。
我建议使用 AccountManager ,它是 android.accounts 的一部分,可以访问凭据和方法 getUserData .帐户管理员有权访问密码,并能够创建和删除帐户。这可能与 Content Provider 一起使用
见 Udinic/SyncAdapter Authentication .
回复您的评论:
此博客应该可以帮助您入门。 Write your own Android Authenticator .
这些应用程序实际上是如何工作的,我无法告诉你。它们也可能有不同的实现(除非它们是幕后的协作,否则它们肯定会有所不同)。
一个猜测。首先使用GoogleSignInAccount与 com.google.android.gms.auth.api.signin .
有 scope 的定义, 以确定授予应用程序的权限范围。
使用 requestScopes() ,
public static final String PROFILE
.../ It lets your web app access over-the-air Android app installs.
对于 example :
GoogleSignInOptions gso =
new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail().
.requestScopes(new Scope("https://www.googleapis.com/auth/contacts.readonly"))
.build();
如果可以获得完全访问权限,则可以找到帐户持有人使用的所有应用的列表,并将其与设备上的内容进行比较。
Package Manager将检索设备上当前安装的所有应用的列表。
PackageInfo提供有关应用程序的详细信息。
INSTALL_REASON_USER 还会过滤掉用户主动安装的应用程序。
您可能想查看 com.google.firebase.appindexing和 Log User Actions .不同actions可以被追踪。
用户帐户历史记录位于 https://myactivity.google.com/myactivity .
一个有用的链接是OAuth 2.0 Playground .
这个 github 仓库 node-google-play ,使用节点,是最新的,将调用 Google Play API。与用作“非官方” api 的存档一样,android-market-api , 查询市场。
app claims使用以下权限:
Version 2.1.8 can access:
$ In-app purchasesOther
- receive data from Internet
- view network connections
- full network access
- use accounts on the device
- prevent device from sleeping
- read Google service configuration
值得注意的是,该应用在进行基本安装时不会设置任何权限。我无法使用任何功能,因为我没有付费应用程序。因此,对于初始搜索 - 不需要权限,这表明该应用无权访问我的帐户。
我检查了权限 - 没有设置。因此,唯一需要做的就是接受弹出窗口,如您的问题中所示。
您提到的另一个执行相同操作的应用程序更预先了解正在访问的内容。
SECURITY/PRIVACY NOTICE
The first time you run this app, it will ask for full permission to your Google account. This is unfortunately the only way to access the required information. No personal information is stored, no information about your apps is shared with the developer of this app, nor shared with any third parties. Everything is kept on your phone only.
我已在 this blog post 中详细介绍了这些应用程序。 ,这是一个大学顶点项目(没有金钱 yield )。我倾向于认为这是 API 中的一个漏洞,而不是谷歌设计的状态,因为除了开发者自己的应用程序之外,没有任何 API 调用来获取应用程序的购买。我假设这是一个零日漏洞,在这种情况下,没有合法的方法可以访问这些信息。
关于android - 如何从 Google Play 获取用户下载的应用程序(付费/免费)列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46050134/
所以我的应用程序的评论显示在我的游戏控制台中,但是由于某种原因,当我在 google Play 商店上访问我的应用程序链接并以普通用户的身份查看它时,我没有收到新评论的通知,我的显示了 13 条评论,
一旦我在 2.3 play 项目上运行 'sbt compile',我就不能再使用 'sbt compile' 来编译任何 Play 2.2.x 项目。这是我运行 sbt 命令时的错误。 [info]
我有点困惑,想得到一个解释。 我正在使用 Java Play 2 和 Akka Actor 。我使用 play run 启动系统。 不过,我刚刚看到一个视频,使用了命令: play akka star
当我玩游戏时,我遇到两个选择play.api.mvc和 play.mvc包裹 有什么不同? 最佳答案 从戏! 2 文档: The API available in the play.api packa
从 2.3 迁移到 2.4 后,我收到此错误。我应该使用的正确导入语句是什么? error: value routesImport is not a member of object play.Pla
所以我在 google play 上有一个应用程序已经将近 6 个月了,最近两个月我更新了我的应用程序屏幕截图,从那时起,每次我更新我的应用程序时,我都开始收到应用程序拒绝。 上次我提出上诉并被接受,
我有以下代码: Snapshots.OpenSnapshotResult result; result = Games.Snapshots.open(googleApiClient, "save",
在过去 72 小时内,我为 Google Play 开发者计划支付的 Google 电子钱包付款显示为“您的购买正在处理中”。我知道这可能需要长达 48 小时,但这是他们处理时间最坏情况之后的一整天。
我在 Play 商店发布了应用程序,我不知道为什么应用程序显示预注册,我想为我的用户提供直接下载选项。伸出援手将不胜感激。 最佳答案 instructions for pre-registration
我有一个 PHP 后端,它与 Google Play 服务集成以验证从 APP 进行的购买。购买信息返回收据和签名,我需要验证购买是否正确。 我收到: { ...rest of the data
我在 Google Play Developer Console 上创建了我的 Android 应用程序的草稿。我已经填写了所有需要的信息。必需的步骤之一是“内容评级”。我已填写表格以自动分配 Goo
我已经设置好了 com.typesafe.play play_2.13 2.7.4 在项目 pom.xml 中。但是,当我尝试遵循this tutorial时,语句 pla
我在 Play 商店上发布了一个应用程序,并收到了一些评论。在Google Play开发者控制台中,我在一些评论中看不到应用程序的版本。这是我在“应用程序”标题下找到的内容。 版本代码 — 版本名称
假设 A 是所有者。我希望我们团队的 B、C 和 D 用户能够上传我们应用程序的新版本。这可能吗?来自 this我不太清楚用户有什么样的权限。如果有人对这部分有任何经验,欢迎。 最佳答案 您需要 go
我正在尝试将应用重新提交到 Google Play,但我似乎可以找到一种技术上的方法来实现此目的。 我对“您的应用主要针对 COPPA 定义的 13 岁以下 child 吗?”的回答是肯定的,然后在不
我想分享一下我在分析 Google Play 控制台的新功能时遇到的情况,并尝试找到解决方案。 正如你们许多人可能已经知道的那样,Google 已在 Google Play 控制台上发布了更新并引入了
我有两个用 playframework 编写的应用程序。我想加入另一个。我有一个数据库,我想在它们之间共享我的登录类。应用程序对类、方法、变量使用不同的名称。 我怎样才能实现它?我应该创建 jar 版
对于我的硕士论文,我需要自动将来自 Google Play 的不同 Android 应用程序的信息写入一个文本文件。所以我使用 perl 脚本语言来实现这种自动化。我的 perl 脚本可以在 Goog
我想测试子项目是如何工作的,尤其是 routes在主项目 ( this was not visible before ) 中考虑了子项目的数量。 我在这里阅读了文档: https://github.c
我正在使用 Play 框架 2.1.2,我有一个 handlere 方法返回一个 Promise,如 Play 的 2.1.2 documentation 中所述 但是 Play 抛出编译错误说: C
我是一名优秀的程序员,十分优秀!