Apple Search Ads API PUT请求返回400错误排查求助
解决Apple Search Ads API PUT请求400错误的几个关键点
先看你代码里的几个明显问题,逐个修正:
Authorization头部格式错误
原代码里Bearer{"access token"}少了空格,还存在字符串拼接语法错误(引号未闭合),正确格式应该是Bearer {你的access token},注意Bearer后面必须加空格。payload的amount类型错误
Apple Search Ads API要求dailyBudgetAmount.amount是数字类型,你写成了字符串"300",要改成数字300。requests.put参数使用错误
requests库的put方法没有json_data这个参数,传递JSON数据直接用json参数即可,不用手动调用json.dumps,requests会自动处理序列化和Content-Type头。URL占位符未替换
你URL里的campaignId是占位符,要替换成实际的广告系列ID数值。
修正后的完整代码:
import jwt import requests # 替换成你的实际值 access_token = "你的令牌内容" orgId = 123456789 campaign_id = 987654321 headers = { 'Authorization': f'Bearer {access_token}', 'X-AP-Context': f'orgId={orgId}', } payload = {"dailyBudgetAmount": {"amount": 300}} response = requests.put( f'https://api.searchads.apple.com/api/v4/campaigns/{campaign_id}', json=payload, headers=headers ) # 打印响应内容方便排查问题 print(response.status_code) print(response.text)
额外排查点:
- 确认
orgId和campaign_id的归属关系正确,确保该广告系列属于指定组织 - 若仍报错,打印响应的text内容,Apple的API通常会返回具体错误原因(比如字段格式错误、权限不足等),根据提示再调整
内容的提问来源于stack exchange,提问作者user13474505
相关产品推荐
相关产品推荐

