【问题标题】:How can I retrieve a large number of DELETED Campaigns, Adsets, Ads?如何检索大量已删除的广告系列、广告集、广告?
【发布时间】:2017-10-31 17:43:51
【问题描述】:

任务

我正在尝试从与我们的业务经理关联的各个帐户中检索所有广告活动、广告集和广告。

问题

我正在访问的特定端点是:

https://graph.facebook.com/v2.8/act_xxxxxxxxxxxxx/campaigns
https://graph.facebook.com/v2.8/act_xxxxxxxxxxxxx/adsets
https://graph.facebook.com/v2.8/act_xxxxxxxxxxxxx/ads

当我使用filter 参数查询所有广告系列的部分帐户时,

[{'operator': 'IN',
        'field': 'ad.effective_status',
        'value': [
            'ACTIVE',
            'PAUSED',
            'DELETED',
            'PENDING_REVIEW',
            'DISAPPROVED',
            'PREAPPROVED',
            'PENDING_BILLING_INFO',
            'CAMPAIGN_PAUSED',
            'ARCHIVED',
            'ADSET_PAUSED']}]

Facebook API 总是返回这个错误:

{"error":{"code":1,"message":"Please reduce the amount of data you're asking for, then retry your request"}}

疑难解答

  • 我为 filter 参数使用了各种值,例如 1、25、50、100、500。
  • 我尝试使用date_preset 参数限制日期(这似乎无关紧要)。
  • 我尝试通过在filter 参数中包含{'operator': 'IN','field':'campaign.id','value':['xxxxxxxxxxxxx']} 作为附加过滤器来过滤到单个广告系列来限制查询。
  • 我已尝试批量请求并查询 /insights 端点,但我还没有完成任何工作。

其他详情

当我在过滤器中仅包含 ACTIVE 广告系列时,查询有效。这让我可以推断出DELETED 活动是问题所在。换句话说,这些帐户有大量的DELETED 广告系列。

我正在使用 Postman 版本 5.0.0 (5.0.0) 提出请求。

我想如果我能弄清楚如何获得广告系列,广告集和广告将是相似的。我该如何解决这个问题?

【问题讨论】:

    标签: facebook facebook-graph-api facebook-ads-api


    【解决方案1】:

    原因是 API 实际上不支持查询某些端点的已删除对象。我试图获取某个帐户的所有广告系列,这就是响应。

    Method:  GET
    Path:    
    https://graph.facebook.com/v2.10/act_XXXX/campaigns
    Params:  {'effective_status': '["ACTIVE","PAUSED","DELETED","ARCHIVED"]', 'fields': 'id,name,status', 'summary': 'true'}
    
    Response:
    {
      "error": {
        "code": 100, 
        "is_transient": false, 
        "error_subcode": 1815001, 
        "error_user_msg": "Requesting for deleted objects is not supported in this endpoint.", 
        "error_user_title": "Cannot Request for Deleted Objects", 
        "message": "Invalid parameter", 
        "type": "OAuthException", 
        "fbtrace_id": "FYDwMABcwxj"
      }
    }
    

    查看文档后,我发现了这一点 https://developers.facebook.com/docs/marketing-api/best-practices/storing_adobjects

    他们在这里声明

    如果保留已删除的对象 id,则可以继续检索 通过单独查询对象 ID 来获取统计信息或对象详细信息。 但是,您无法将已删除的对象检索为连接对象 来自未删除的节点/对象。

    【讨论】:

    • 这很糟糕,但我认为你是对的。我尝试了/v4.0/act_311200999919992/campaigns?fields=adsets.limit(5000){ads.limit(5000){name},name},name&limit=5000&effective_status=['DELETED'] 并收到此错误:“此端点不支持请求删除的对象。”
    • 另外有趣的是:“DELETED”与“ARCHIVED”不同,当你在 FB UI 中点击 Delete 时,它​​实际上将广告设置为 Archived,根据developers.facebook.com/ads/blog/post/2014/09/24/…,我刚刚在/v4.0/23843599855939992?fields=name,status确认。
    猜你喜欢
    • 1970-01-01
    • 2022-08-08
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多