Google Play Developer API未返回应用评论问题排查求助
解决Play Developer API返回Resource对象而非评论数据的问题
你看到的<googleapiclient.discovery.Resource object at 0x10302a990>其实不是最终的评论数据哦——这说明你只是成功构建了API客户端的资源对象,但还没真正发起获取评论的请求!下面一步步帮你解决:
1. 调用正确的API方法获取评论
Play Developer API的评论查询接口是reviews.list,你需要在构建好的resource对象上调用这个方法,传入应用包名等必要参数,最后执行.execute()才会发送请求拿到数据。给你个完整的示例代码:
from googleapiclient.discovery import build from google.oauth2.service_account import Credentials # 加载你的服务账号密钥文件 creds = Credentials.from_service_account_file( '你的服务账号密钥.json', scopes=['https://www.googleapis.com/auth/androidpublisher'] ) # 构建Android Publisher API客户端 android_publisher = build('androidpublisher', 'v3', credentials=creds) # 发起获取评论的请求 response = android_publisher.reviews().list( packageName='com.你的应用包名' # 替换成你在Play Console里的真实包名 ).execute() # 现在打印就能看到评论数据了 print(response)
2. 检查权限配置是否到位
如果调用后还是有问题,大概率是权限没配置对:
- 确保你的服务账号已经被添加到Google Play Console的开发者权限里,角色至少选「查看者」(建议用「开发者」角色,确保有读取评论的权限)。
- 确认服务账号的密钥文件是正确下载的,scopes必须设置成
https://www.googleapis.com/auth/androidpublisher,这个是访问Play开发者API的必需权限。 - 核对应用包名,必须和Play Console里的完全一致,大小写都不能错。
3. 处理分页(评论多的时候需要)
如果你的应用评论超过100条,API会返回分页结果,你需要通过pageToken来循环获取所有评论:
page_token = None while True: response = android_publisher.reviews().list( packageName='com.你的应用包名', pageToken=page_token ).execute() # 处理当前页的评论数据 reviews = response.get('reviews', []) for review in reviews: # 打印评论作者和内容,你可以根据需求调整 print(f"作者:{review['authorName']}") print(f"评论:{review['comments'][0]['userComment']['text']}\n") # 获取下一页的token,没有的话就退出循环 page_token = response.get('nextPageToken') if not page_token: break
内容的提问来源于stack exchange,提问作者Daniela Gorra
相关产品推荐
相关产品推荐

