You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用Google Play Store API获应用评论遇权限错误求助

解决Android Publisher API调用的权限报错问题

我来帮你搞定这个「The caller does not have permission」的报错,这类问题在使用Google Play的API时挺常见的,咱们从权限配置到代码细节一步步排查:

一、先搞定核心的权限配置问题

这是最可能导致报错的原因,得确保你的服务账号拥有访问应用评论的权限:

  • 打开Google Play Console,找到你对应的应用(包名是xtestx)
  • 进入「用户和权限」页面,点击「添加用户」
  • 输入你服务账号的邮箱(就是testxyz.json里的client_email字段值),然后给它分配至少「查看应用权限」的权限(如果需要回复评论,就选「回复评论权限」)
  • 注意:权限生效可能需要5-10分钟,别刚设置完就马上重试

二、确认Android Publisher API已启用

如果API没开,哪怕权限对了也会报错:

  • 打开Google Cloud Console,找到你创建服务账号的项目
  • 在搜索栏输入「Android Publisher API」,检查它的状态是不是「已启用」
  • 如果是「未启用」,点击启用按钮,等几分钟再测试

三、验证密钥文件的正确性

确保你用的testxyz.json是正确的:

  • 打开文件,核对client_email和你在Play Console添加的邮箱完全一致
  • 确认这个文件是直接从Google Cloud Console下载的,没有被修改过内容

四、修复代码里的两个小问题

你的代码里还有两处错误,虽然不是权限报错的直接原因,但会导致后续分页逻辑失效:

  1. 缺少httplib2的导入,要在开头加上:
    import httplib2
    
  2. 分页逻辑有语法错误,正确的写法应该是:
    infinite_loop_canary = 100
    while "tokenPagination" in reviews_page and "nextPageToken" in reviews_page["tokenPagination"]:
        next_token = reviews_page["tokenPagination"]["nextPageToken"]
        reviews_page = reviews_resource.list(
            packageName=package_name,
            maxResults=100,
            pageToken=next_token
        ).execute()
        reviews_list.extend(reviews_page["reviews"])
        infinite_loop_canary -= 1
        if infinite_loop_canary < 0:
            break
    
    原来的代码里错误地拼接了pageToken参数,而且多了一个闭合括号,这样会直接导致语法错误。

按照上面的步骤逐一排查后,应该就能正常调用API获取评论了。

内容的提问来源于stack exchange,提问作者Sravya Lenka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:40:29