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

LinkedIn adAnalyticsV2 API dateRange参数格式问题求助

解决LinkedIn adAnalyticsV2 API的dateRange参数错误问题

问题根源:你将dateRange、pivot、timeGranularity这类请求参数放在了**请求头(headers)中,但LinkedIn的adAnalyticsV2 API要求这些参数作为查询参数(query parameters)**传递,而非请求头字段。

正确的参数格式与代码实现

1. dateRange的合法格式

使用LinkedIn Rest.QL语法,支持两种格式:

  • 日期组件格式:(start:(day:DD,month:MM,year:YYYY),end:(day:DD,month:MM,year:YYYY))
  • 毫秒级时间戳格式:(start:TIMESTAMP_MS,end:TIMESTAMP_MS)

2. 修正后的完整代码

import requests

def get_ad_analytics_v2(token: str) -> dict:
    url = 'https://api.linkedin.com/v2/adAnalyticsV2?q=analytics'
    # 仅保留认证与协议版本相关的请求头
    headers = {
        'Authorization': f'Bearer {token}',
        'cache-control': 'no-cache',
        'X-Restli-Protocol-Version': '2.0.0'
    }
    # 所有查询参数放在params字典中传递
    params = {
        'pivot': 'ACCOUNT',
        # 日期组件格式示例
        'dateRange': '(start:(day:28,month:5,year:2019),end:(day:28,month:5,year:2022))',
        'timeGranularity': 'DAILY'
    }

    response = requests.get(url, headers=headers, params=params).json()
    print(response)
    return response

3. 时间戳格式示例

如果想用毫秒级时间戳,直接替换dateRange的值即可:

'dateRange': '(start:1559020800000,end:1653763200000)'

关键注意事项

  • 所有API要求的查询参数必须放在requests.get的params参数中,不能混入请求头
  • dateRange不需要做JSON序列化,直接使用符合Rest.QL语法的字符串即可
  • 确保时间范围合理(start时间不晚于end时间),否则会触发其他参数错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 21:40:20