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

调用Spotify Ads API获报表遇Could not deserialize ReportingRequest错误

排查Spotify Ads API报表请求反序列化错误

问题概述

调用Spotify Ads API获取报表数据时,持续收到Could not deserialize ReportingRequest解析错误,请求头可正常用于其他API端点(如获取推广活动数据),改用curl调用仍报错,推测问题出在请求体格式或字段内容上。

Python请求代码

reports = requests.post('https://api-partner.spotify.com/ads/v1.3/adAccounts/8a578aa1-e36d-42da-8110-52914f99f907/report', headers=headers, data=data)

错误响应

{"error":{"type":"ParsingError","message":"Request is invalid","errors":["Could not deserialize ReportingRequest"],"sp_trace_id":"89e3b470-6bdd-4e03-8903-d4e814e71164"}}

当前请求体内容

data = {
    "filters": {
        "campaign_ids": [
            "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        ],
        "ad_set_ids": [
            "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        ],
        "ad_ids": [
            "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        ],
        "advertiser_ids": [
            "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        ],
        "country_isos": [
            "string"
        ],
        "region_ids": [
            0
        ],
        "dma_ids": [
            0
        ],
        "platforms": "IOS",
        "campaign_statuses": "ACTIVE",
        "ad_set_statuses": "ACTIVE",
        "ad_set_start_dates": [
            "2019-08-24T14:15:22Z"
        ],
        "ad_set_end_dates": [
            "2019-08-24T14:15:22Z"
        ],
        "cost_type_filters": "CPCL",
        "report_datetime_range": {
            "report_start": "2019-08-24T14:15:22Z",
            "report_end": "2019-08-24T14:15:22Z"
        }
    },
    "dimensions": "CAMPAIGN",
    "fields": "CLICKS",
    "organization_ids": [
        "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "ad_account_ids": [
        "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "continuation_token": "string",
    "page_size": 0
}

curl请求命令

curl --request POST \
  --url https://api-partner.spotify.com/ads/v1.3/report \
  --header 'Authorization: ' \
  --header 'Content-Type: application/json' \
  --data '{
  "filters": {
    "campaign_ids": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "ad_set_ids": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "ad_ids": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "advertiser_ids": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ],
    "country_isos": [
      "string"
    ],
    "region_ids": [
      0
    ],
    "dma_ids": [
      0
    ],
    "platforms": "IOS",
    "campaign_statuses": "ACTIVE",
    "ad_set_statuses": "ACTIVE",
    "ad_set_start_dates": [
      "2019-08-24T14:15:22Z"
    ],
    "ad_set_end_dates": [
      "2019-08-24T14:15:22Z"
    ],
    "cost_type_filters": "CPCL",
    "report_datetime_range": {
      "report_start": "2019-08-24T14:15:22Z",
      "report_end": "2019-08-24T14:15:22Z"
    }
  },
  "dimensions": "CAMPAIGN",
  "fields": "CLICKS",
  "organization_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "ad_account_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "continuation_token": "string",
  "page_size": 0
}'

错误原因分析及解决方法

1. 字段类型不匹配

根据Spotify Ads API规范,以下字段应为数组类型,当前传入单个字符串导致反序列化失败:

  • platforms:改为数组格式,如["IOS"]
  • campaign_statuses:改为数组格式,如["ACTIVE"]
  • ad_set_statuses:改为数组格式,如["ACTIVE"]
  • cost_type_filters:改为数组格式,如["CPCL"]

2. 无效占位值与非法参数

  • country_isos:占位符"string"无效,替换为真实ISO国家代码(如["US"]),无需过滤可直接删除该字段
  • region_ids/dma_ids:0不是有效ID,无需过滤可删除这些字段,或替换为真实区域ID
  • continuation_token:无续传需求时删除该字段,或传入null,不要用占位符"string"
  • page_size:值为0不符合API要求,设置为正整数(如100)

3. Python请求参数错误

Python代码中使用data=data会默认以application/x-www-form-urlencoded格式发送请求,API要求application/json格式,需改为json=data,让requests自动处理JSON序列化和Content-Type头:

reports = requests.post('https://api-partner.spotify.com/ads/v1.3/adAccounts/8a578aa1-e36d-42da-8110-52914f99f907/report', headers=headers, json=data)

4. 冗余字段冲突

在adAccounts/{id}/report端点中,URL已指定广告账户ID,请求体中的ad_account_ids字段可删除避免冲突;organization_ids若不是必填字段也可删除,或确认其为有效组织ID。

修正后的请求体示例

data = {
    "filters": {
        "campaign_ids": [
            "497f6eca-6276-4993-bfeb-53cbbbba6f08"
        ],
        "platforms": ["IOS"],
        "campaign_statuses": ["ACTIVE"],
        "ad_set_statuses": ["ACTIVE"],
        "cost_type_filters": ["CPCL"],
        "report_datetime_range": {
            "report_start": "2019-08-24T14:15:22Z",
            "report_end": "2019-08-24T14:15:22Z"
        }
    },
    "dimensions": "CAMPAIGN",
    "fields": "CLICKS",
    "page_size": 100
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 13:20:31