通过App Store Connect API获取月度报告遇400错误求助
解决App Store Connect API获取月度报告返回400错误的问题
错误核心原因
请求MONTHLY类型报告时,reportDate参数格式不符合要求:
- DAILY报告需要
YYYY-MM-DD格式的具体日期 - MONTHLY报告仅需
YYYY-MM格式的年月,无需指定具体日
修正后的代码示例
SALES类型月度报告
url = f"https://api.appstoreconnect.apple.com/v1/salesReports" params = { 'filter[frequency]': 'MONTHLY', 'filter[reportDate]': '2024-08', # 修改为年月格式 'filter[reportSubType]': 'SUMMARY', 'filter[reportType]': 'SALES', 'filter[vendorNumber]': 'XXXXXXXX', 'filter[version]': '1_0', } headers = { 'Authorization': f'Bearer {jwt_token}', 'Content-Type': 'application/json' } response = requests.get(url, headers=headers, params=params)
INSTALLS类型月度报告
url = f"https://api.appstoreconnect.apple.com/v1/salesReports" params = { 'filter[frequency]': 'MONTHLY', 'filter[reportDate]': '2024-08', # 修改为年月格式 'filter[reportSubType]': 'SUMMARY', 'filter[reportType]': 'INSTALLS', 'filter[vendorNumber]': 'XXXXXXXX', 'filter[version]': '1_2', } headers = { 'Authorization': f'Bearer {jwt_token}', 'Content-Type': 'application/json' } response = requests.get(url, headers=headers, params=params)
额外注意事项
- 月度报告生成时间:App Store Connect的月度数据通常在次月6日左右生成,若请求日期过早(比如8月报告在9月6日前请求),也会返回错误。
- 权限验证:确认JWT令牌对应的账号拥有目标vendor的销售数据访问权限,vendorNumber参数需准确无误。
内容的提问来源于stack exchange,提问作者GuyWhoWantsToKnow
相关产品推荐
相关产品推荐

