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

寻求Ad Library API的Python调用示例及空数据问题解决方法

Ad Library API Python调用示例及空数据问题解决方案

完整调用示例(基于requests库)

以下是符合API规范的Python调用代码,包含认证、参数配置及错误处理:

import requests

# 替换为你的实际访问令牌
ACCESS_TOKEN = "your_valid_access_token"
# 替换为对应Ad Library API的官方端点(以Meta Ad Library为例)
API_ENDPOINT = "https://graph.facebook.com/v18.0/adlibrary_search"

def get_ad_library_results():
    # 认证请求头
    headers = {"Authorization": f"Bearer {ACCESS_TOKEN}"}
    # 查询参数(根据API文档调整必填/可选项)
    query_params = {
        "country_code": "US",  # 严格使用ISO 3166-1 alpha-2格式国家代码
        "search_terms": "sustainable fashion",
        "ad_active_status": "ACTIVE",  # 仅获取活跃广告
        "date_min": "2024-01-01",
        "date_max": "2024-06-30",
        "fields": "id,title,body,created_time"  # 指定返回字段,减少冗余数据
    }

    try:
        response = requests.get(API_ENDPOINT, headers=headers, params=query_params)
        response.raise_for_status()  # 主动抛出HTTP错误
        raw_data = response.json()

        if not raw_data.get("data"):
            print("返回空数据,建议检查参数或权限")
        else:
            print(f"成功获取 {len(raw_data['data'])} 条广告数据")
            # 示例数据处理逻辑
            for ad in raw_data["data"]:
                print(f"广告ID: {ad['id']} | 创建时间: {ad['created_time']}")
        
        return raw_data
    except requests.exceptions.HTTPError as e:
        print(f"请求失败: {e}")
        print(f"API响应详情: {response.text}")  # 打印原始响应便于排查问题
    except Exception as e:
        print(f"未知错误: {e}")

if __name__ == "__main__":
    get_ad_library_results()

空数据问题的常见原因及解决方案

1. 参数配置错误

  • 问题:参数格式不符合要求、遗漏必填项或筛选条件过严
  • 解决:
    • 严格遵循API文档的参数规范:比如country_code必须是ISO 3166-1 alpha-2代码(如"CN"而非"中国")
    • 放宽search_terms关键词或扩大date_min/date_max时间范围,避免无匹配结果
    • 确认是否遗漏必填参数(如部分API要求指定publisher_platforms)

2. 权限或认证问题

  • 问题:访问令牌无效、权限范围不足或应用未通过审核
  • 解决:
    • 验证令牌有效性:通过API官方调试工具检查令牌的权限范围
    • 确保令牌包含API所需的权限(如Meta Ad Library需要ads_read权限)
    • 确认应用已完成API访问审核,部分非公开数据需审核后才能获取

3. 请求格式错误

  • 问题:HTTP方法错误、参数位置不正确或请求头缺失
  • 解决:
    • 使用API文档指定的HTTP方法(多数Ad Library API使用GET,部分特殊接口用POST)
    • 确保参数放在URL查询参数中(而非请求体),除非文档明确要求
    • 检查Authorization头格式是否正确:必须是Bearer {你的令牌}

4. 目标数据确实不存在

  • 问题:当前筛选条件下无匹配的广告数据
  • 解决:
    • 使用官方调试工具执行相同参数的请求,确认是否真的无数据
    • 尝试移除部分筛选条件(如ad_active_status),扩大搜索范围

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 09:25:24