Facebook API - 成效分析:状态:500,错误代码 1,随机"An unknown error occurred"



当尝试从FB的营销API获取数据时,我得到以下错误:

  Status:  500
  Response:
    {
      "error": {
        "code": 1,
        "message": "An unknown error occurred"
      }
    }

。如果我尝试立即通过Postman发出相同的请求,它有时会返回数据,有时会抛出500状态错误。下面是发送给FB

的数据
  facebookads.exceptions.FacebookRequestError:
  Message: Call was not successful
  Method:  GET
  Path:    https://graph.facebook.com/v2.3/act_XYZ/insights
  Params: {
      'time_increment': 1,
      'level': 'adgroup',
      'fields': '["account_name", "deeplink_clicks",
                  "campaign_name",
                  "social_impressions",
                  "campaign_group_name",
                  "campaign_id",
                  "adgroup_name",
                  "unique_impressions",
                  "social_reach",
                  "unique_social_impressions",
                  "placement",
                  "total_actions",
                  "cpm",
                  "impressions",
                  "ctr",
                  "reach",
                  "clicks",
                  "social_clicks",
                  "spend",
                  "website_clicks",
                  "adgroup_id",
                  "actions",
                  "cpc",
                  "cpp",
                  "unique_clicks",
                  "app_store_clicks",
                  "unique_social_clicks",
                  "account_id",
                  "campaign_group_id"
              ]',
  'breakdowns': '["placement"]',
  'time_range': '{"since":"2015-09-01","until":"2015-09-09"}',
  'summary': None
  }
  Status:  500
  Response:
    {
      "error": {
        "code": 1,
        "message": "An unknown error occurred"
      }
    }

我正在使用Facebook的Python SDK从

- e git + https://github.com/pythonforfacebook/facebook-sdk.git@449f56f0db086a41bedd23df714e7f77c1051f5b蛋= facebook_sdk-dev

有人能告诉我在这种情况下我可能会错过什么吗?

谢谢。

我遇到了同样的问题,我注意到一种模式,当请求在Postman中需要超过~30s时,它会出错。不知道你能做些什么来解决这个问题,但我已经取得了一些成功:

  • 拉回粒度/分解级别
  • 限制每页记录数

不幸的是,我没有看到导致这种延迟的粒度级别的一致模式。有时我可以报告每个页面5000个结果的@广告级别,其他时候我需要大幅缩减

您可能想了解HTTP协议-在本例中是关于响应状态码。500表示"内部服务器错误",也就是说facebook API服务器出了问题,而不是你的代码。此时,您唯一的选择是要么记录错误并停止,要么设置等待/重试循环。

我也看到了这个问题,并注意到它似乎是特别寻找竞选_name和竞选_id。基于排除或包含这些字段,我有一致的成功/失败。

我正在使用Ruby并访问v2.5 insights api。

更新

所以我只是测试了在请求campaign_name字段时设置与不设置campaign级别的游戏,当我设置campaign级别时,调用现在成功了。也许你可以尝试设置不同的关卡进行测试?

我也遇到过同样的问题。在广告账户层面运行的洞察绝对是"我们的"最有效的。结束。我已经把有条件的异常处理的见解调用到adaccount,如果返回一个异常从facebook api调用已启动后,然后我尝试抓住所有的活动和运行洞察每个活动。

这也有助于防止执行限制,如果可以的话,每个帐户只调用一个洞察力api调用,并且只有在adaccount调用失败时才进入洞察力调用的活动粒度。

最新更新