Python调用Google API获取商店性能报告遇404错误求助
解决Google Play商店性能报告API调用404错误的方案
错误核心原因
404 NotFound错误表明请求的Google Cloud存储对象不存在,或路径、权限配置有误。以下是针对性的排查和解决步骤:
1. 核对存储桶ID与文件路径的准确性
- 替换占位符:确保代码中
[publisher_bucket_id]/[developer_bucket_id]是实际有效的存储桶名称(格式通常为pubsite_prod_rev_<你的开发者ID>,可在Google Play Console的API设置中找到)。 - 检查包名与日期:确认
{packageName}已替换为应用真实包名(如com.example.myapp),日期格式202304对应2023年4月,需确保该月份的报告已生成(Play报告通常每月上旬生成上月数据)。
2. 确认报告已在Play Console生成
先手动登录Google Play Console,查看对应月份的性能报告是否存在。若控制台中无该报告,API无法获取——可能是数据未生成(新应用或数据量不足),需等待或确认数据状态。
3. 验证服务账号权限配置
- 确保服务账号已被授予Storage Object Viewer权限:在Google Cloud控制台找到目标存储桶,检查服务账号的权限设置。
- 确认服务账号已在Play Console授权:在Play Console的「API访问」页面,添加该服务账号为授权用户,并启用「Google Play Developer API」。
4. 检查API请求参数的正确性
- 避免未替换的占位符:确保代码中所有变量(如存储桶ID、包名、日期)都已替换为实际值,不要保留
{packageName}这类占位符。 - 用客户端库构建请求:尽量使用Google官方API客户端库生成请求,避免手动拼接URL导致的编码错误。示例代码片段:
from google.cloud import storage client = storage.Client() bucket = client.get_bucket('pubsite_prod_rev_1234567890') # 替换为你的存储桶ID blob = bucket.blob('stats/store_performance/store_performance_com.example.myapp_202304.csv') # 替换为正确路径 blob.download_to_filename('store_performance.csv')
5. 排查存储桶访问设置
确认存储桶未设置过严格的私有访问规则,服务账号拥有读取存储对象的权限,跨区域访问限制也可能导致问题(确保客户端与存储桶区域匹配)。
内容的提问来源于stack exchange,提问作者sasibhushan M
相关产品推荐
相关产品推荐

