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

Python调用TikTok API获取营销活动及广告报表时遇权限错误

解决TikTok API 40102权限错误(获取广告报表数据)

权限排查步骤

  • 确认API权限范围:当前应用权限可能仅包含campaign_read,但获取报表数据需要额外权限,比如ads_report_read(核心报表权限)、conversion_read(转化数据权限)。前往TikTok开发者后台的应用权限页面检查,确保已申请并获批这些权限。
  • 验证广告账户关联:确认应用已正确关联目标广告账户,且账户状态正常(未被限制)。在TikTok Ads Manager中检查账户的API访问授权状态,确保该账户已授权给你的应用。
  • 检查Token权限:调用API使用的access token需包含对应报表权限的scope。可通过调用/oauth2/access_token/info接口验证token的权限范围,确认是否包含所需的报表类权限。

修正后的Python代码示例

import requests

# 配置信息
ACCESS_TOKEN = "你的访问令牌"
AD_ACCOUNT_ID = "你的广告账户ID"
API_BASE_URL = "https://business-api.tiktok.com/open_api/v1.3"

def get_ad_report():
    endpoint = f"{API_BASE_URL}/report/integrated/get/"
    headers = {
        "Access-Token": ACCESS_TOKEN,
        "Content-Type": "application/json"
    }
    payload = {
        "advertiser_id": AD_ACCOUNT_ID,
        "data_level": "CAMPAIGN",  # 按活动维度获取数据
        "metrics": ["clicks", "total_cost", "conversions", "impressions", "cpm", "cpc"],
        "start_date": "2024-01-01",
        "end_date": "2024-01-31",
        "dimensions": ["campaign_id", "campaign_name"]
    }
    
    response = requests.post(endpoint, json=payload, headers=headers)
    if response.status_code == 200:
        return response.json()
    else:
        print(f"请求失败: {response.json()}")
        return None

# 调用示例
report_data = get_ad_report()
if report_data:
    print("报表数据获取成功:")
    print(report_data)

额外注意事项

  • 权限申请流程:若缺少权限,需在TikTok开发者后台提交权限申请并说明使用场景,等待平台审核通过。
  • 数据维度匹配:确保metrics和dimensions的组合符合TikTok API要求,避免因参数不合法导致隐性权限问题。
  • Token有效期:access token存在有效期,过期后需重新刷新,否则也会触发权限类错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 07:37:35