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

Snapchat Marketing API列表值请求仅返回首个值问题求助

Snapchat Marketing API 数据获取参数问题解决方法

问题原因

当使用requests发送GET请求时,若params中的值为列表,requests默认仅会将列表的第一个元素作为参数值传递给API,这就导致Snapchat API只接收到report_dimension的第一个值country和fields的第一个值impressions。而Snapchat Marketing API要求多维度、多指标参数以逗号分隔的字符串形式传递,而非Python列表。

修复后的代码

def post_snapchat_campaign_data(adAccount_id, access_token, granularity, breakdown, report_dimension, start_time, end_time, fields):
    url = "https://adsapi.snapchat.com/v1/adaccounts/{}/stats".format(adAccount_id)

    # 将列表参数转为逗号分隔的字符串
    params = {
        "granularity": granularity,
        "breakdown": breakdown,
        "report_dimension": ",".join(report_dimension),
        "start_time": start_time,
        "end_time": end_time,
        "fields": ",".join(fields)
    }
    headers = {'Authorization': access_token}
    response = requests.request("GET", url, headers=headers, params=params)
    return response


def get_snapchat_campaign_data(adAccount_id, access_token):
    response = post_snapchat_campaign_data(
        adAccount_id=adAccount_id,
        access_token=access_token,
        granularity="DAY",
        breakdown="campaign",
        report_dimension=["country", "os"],
        start_time="2022-02-02",
        end_time="2022-02-03",
        fields=["impressions", "spend", "swipes", "total_installs"]
    )

    return response.json()

关键修改点

  • 用",".join(report_dimension)将维度列表转为"country,os"格式的字符串
  • 用",".join(fields)将指标列表转为"impressions,spend,swipes,total_installs"格式的字符串

修改后API就能正确接收所有请求的维度和指标参数,返回完整的洞察数据。

内容的提问来源于stack exchange,提问作者Ugur Selim Ozen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 21:05:32