如何获取已购买的应用列表,包括价格? [复制]
Posted
技术标签:
【中文标题】如何获取已购买的应用列表,包括价格? [复制]【英文标题】:How to get purchased apps list, including the prices? [duplicate] 【发布时间】:2018-09-12 04:43:17 【问题描述】:背景
我有一个小应用程序 (here) 用于显示应用程序列表。
最近,我被告知有一个应用程序 (here) 显示已购买应用程序的列表,包括它们的价格。
我已经测试过了,它确实显示了所有购买的应用程序,就像在 Google Play 网站上一样 (here)
问题和我的发现
我什至不知道可以得到这样的列表,所以在我搜索了互联网之后,我仍然不知道这是如何完成的。
我所知道的是,这个应用程序使用用户的一些身份验证,从他的 Google 帐户中获取应用程序列表。
而且,我发现有一些非官方的库(大多数都非常非常旧)可以从 Play 商店获取应用程序的信息,但似乎没有官方的。
问题
什么API可以用来获取已购买应用的信息?
它能做得更多吗?也许执行搜索?也许显示已安装的免费应用程序?也许是安装和卸载它们的时间?以及这些应用的类别?
使用此 API 有什么特殊要求吗?
【问题讨论】:
【参考方案1】:因为这个问题有赏金,它不允许我指向重复,所以我会在这里做。
看起来有一个帖子的答案与here 一样好。
总而言之,您似乎想向 Google 请求许可(通过 GoogleSignIn)。然后从帖子:
如果可以获得完全访问权限,则可以找到帐户持有人使用的所有应用的列表,并将其与设备上的内容进行比较。
然后答案就涉及到查询包管理器如何让您访问已安装的应用程序:
包管理器将检索设备上当前安装的所有应用的列表。 PackageInfo 提供有关应用程序的详细信息。 INSTALL_REASON_USER 还会过滤掉用户主动安装的应用程序。
您可能需要查看 com.google.firebase.appindexing 和记录用户操作。可以跟踪不同的操作。
用户帐户历史记录位于https://myactivity.google.com/myactivity。
一个有用的链接是 OAuth 2.0 Playground。
我强烈建议继续在该线程上进行任何对话,因为它似乎更活跃并且获得更多支持。
【讨论】:
这个答案和链接仍然没有显示如何去做。只有线索。关于 PackageManager ,我知道这一点,但这只会显示标记为从 Play 商店安装的应用程序。而已。我想看看如何获取所有信息:购买了什么、价格、时间等......就像我在应用程序上指出的那样。 我同意该帖子上的答案并没有告诉您确切的操作方法,它也没有被接受。我会说,如果您要对原始问题添加一些内容,请修改我链接的帖子并对其进行赏金。只是为了把所有东西都放在一个地方(所以没有两个问题问同一个问题)。我认为这就是你被否决的原因,而不是因为这个问题不是一个好问题。 @KyleVenn 我不认为我可以将赏金转移到另一个地方,而且如果我将赏金放在我没有创建的线程上,我认为我不会收到有关答案的通知。 无论如何,如果您有可行的解决方案,请发布。对您指出的另一个线程上已经存在的此类一般信息进行赏金是不公平的。 正如我所写,赏金是自动授予的,尽管这个答案和其他答案一样,根本没有帮助:(【参考方案2】:此类查询没有 API(官方或非官方)。正如我在回答here 中所详述的那样,我已经探索了所有可能的合法方式来访问此类任何可能的信息,但没有合法的方式。
这篇博文Possible android Permission Security Flaw with Google APIs是我为大学顶峰主题写的,是在API中开发可能的zero day exploit的研究提案。
在调查此How to get list of paid apps by a user from google play? 的答案时,我相信这些应用程序如何设法访问此信息可能存在一些问题。
【讨论】:
但似乎有一个官方API。否则,应用程序如何在使用本机登录对话框时做到这一点? @androiddeveloper 他们正在访问他们不应该访问的信息。我不确定如何。如果我进一步调查,我会通知你的。【参考方案3】:在搜索和阅读了这个问题之后,我想出了一个与该解决方案相近的解决方案,该解决方案通常用于通过比较已安装的版本与 Google Play 上发布的版本来检查您的应用程序是否已更新。
我知道您的应用有this list,当您可以访问该帐户时,可以访问此帐户,您可以创建一个爬虫来检查此页面并获取所有购买的应用。
【讨论】:
我认为该应用没有使用爬虫。它非常快,并且显示了一个原生登录对话框,而不是基于 Web 的。 嗯,也许他正在使用一些隐藏的内部 api,与 google play 应用程序使用的相同......我不知道啊哈哈以上是关于如何获取已购买的应用列表,包括价格? [复制]的主要内容,如果未能解决你的问题,请参考以下文章