获取Android Google Play应用评论的API(获取设备名称和应用程序版本)

25

我希望能够检索Google Play上特定应用的所有评论,并从评论中获取以下信息:评分、评论内容、设备名称以及评论所针对的应用版本。

我尝试使用android-market-api,但遗憾的是我只能获得评分、创建时间、作者名称、文本和作者ID等信息。

因此,我想知道是否有API或者URL可以发送POST或GET请求(类似于android-market-api发送POST请求),以检索我需要的信息。

6个回答

16

有没有办法获取评论者的Google Plus ID或个人资料网址?还可以从任何应用程序获取评论,还是只能从我们拥有访问权限的一个应用程序中获取? - Vivek Sancheti
@Jing Li,如果我想通过API访问应用程序的评论,我需要成为该应用程序的发布者吗?还是作为外部用户也可以访问它?请纠正我如果我错了。 - Giovanni Bitliner
@VivekSancheti 我其实也在寻找同样的答案。我们只能获取自己应用程序的评论,而不能获取商店上其他应用程序的评论。 - Siva
@Siva,你找到获取其他应用程序评论API的方法了吗? - Bhavin Patel
除了评论者的姓名和评论之外,有没有其他获取详细信息的方法,比如应用程序版本和手机/设备类型?编辑:抱歉!我看到“评论”部分有设备详情。 - undefined

12

使用服务账户凭据,使用新的评论 API在 Python 中的示例。

from httplib2 import Http
from oauth2client.service_account import ServiceAccountCredentials
from apiclient.discovery import build

credentials = ServiceAccountCredentials.from_json_keyfile_name(
    '<secret from service account>.json',
    scopes=['https://www.googleapis.com/auth/androidpublisher'])

service = build('androidpublisher', 'v2', http=credentials.authorize(Http()))

package_name = "<package name>"
reviews_resource = service.reviews()
reviews_page = reviews_resource.list(packageName=package_name, maxResults=100).execute()
reviews_list = reviews_page["reviews"]

infinite_loop_canary = 100
while "tokenPagination" in reviews_page:
    reviews_page = reviews_resource.list(packageName=package_name,
                               token=reviews_page["tokenPagination"]["nextPageToken"],
                               maxResults=100).execute()
    reviews_list.extend(reviews_page["reviews"])
    infinite_loop_canary -= 1
    if infinite_loop_canary < 0:
        break

请注意 - 我发现,评论 API 只允许访问最近两周的评论和评分。如果您想进行一些追溯分析,最好从保存在 Google Cloud 帐户桶中的位置获取评论和评分的 CSV 文件。


4
使用Google评论API,我们可以查看任何应用程序的评论,还是只能查看我开发的应用程序的评论? - node_analyser
3
由于评论API需要进行身份验证并映射到项目,因此您只能查看来自您的Google Play开发者帐户的应用程序。 - binshi
你能提供 PHP 的相同代码吗?同样使用服务帐户的 PHP 代码。 - Ankesh kumar Jaisansaria
@auselen 你能提供 PHP 版本的相同代码吗?同时使用服务帐户进行操作。 - Ankesh kumar Jaisansaria
谷歌目前只提供最近一周的评论,而不是两周。这里有一个有用的在线指南:https://developers.google.com/android-publisher/reply-to-reviews - JulianHarty

2

我目前也在寻找同样的东西。虽然这是一个老帖子,但我想分享一下我在这个领域的研究成果,这可能对其他访问者有所帮助。

商业

开源

更新:

http://www.playstoreapi.com/docs#app_info(现在不可用!)但相反,您可以尝试https://github.com/thetutlage/Google-Play-Store-API/


http://www.playstoreapi.com/ 重定向到 Play Store 网站。你知道为什么吗?他们改变了 URL 吗? - rohan-patel
奇怪!是的,它已经不存在了,我不知道为什么。我进行了谷歌搜索,并找到了这个网址https://github.com/thetutlage/Google-Play-Store-API,这可能对您有所帮助。 - Wahib Ul Haq

1

1

当人们开始回答这个问题时,他们会指向以下API:

标题:android-market-api。
链接:http://code.google.com/p/android-market-api/

不幸的是,这个API很一般,并且存在一些问题,我认为这些问题与API的开发者无关,而是与谷歌的交互有关。

我使用过这个API,我编写的应用程序可以找到一些应用程序及其元数据,但对于其他应用程序,它只返回没有结果。 我已经寻找答案有一段时间了,但还没有弄清楚。

祝你好运


是的,就像我说的,我已经尝试过这个API,但它没有给我想要的结果。我发现也许唯一能做到的方法是在您的Android开发者页面上使用HTML抓取器。可悲的是,我不知道谷歌是否接受在其Android Dev页面上执行此类操作。所以现在我将继续使用API,因为其他信息只是一个新的好功能。 - Alexis
@alexis,你有找到其他获取评论的API吗?有没有办法从亚马逊产品中获取评论? - Harshil Shah
是的和不是的,API 可以找到一些应用程序而不能找到其他应用程序,因此如果我找不到应用程序,我就无法获取评论。至于亚马逊评论,我不确定。 - peekay
据我所知,这个API只能找到任何应用程序的10条评论,你知道如何获取给定应用程序的所有评论吗? - Mehul Thakkar
API根据您传递的参数每页提供“n”个结果。您可以增加页面大小或循环直到获得给定大小的所有页面。在以下情况下,条目计数是您的页面大小,起始索引是您的页面编号。CommentsRequest.newBuilder().setAppId(“7065399193137006744”)。setStartIndex(0)。setEntriesCount(10)。build();希望这有所帮助。 - peekay

1

有一些有趣的API发布,可以获取Google Play上的评论和回复。您可以获取所有想要的数据:

    "device": string,
    "androidOsVersion": integer,
    "appVersionCode": integer,
    "appVersionName": string

get GET 基于评论ID返回单个评论。
list
从Play商店返回评论列表。
reply
回复单个评论或更新现有回复。

更多信息请点击此处。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接