【问题标题】:Facebook Insights API Rate LimitingFacebook Insights API 速率限制
【发布时间】:2022-11-01 21:03:06
【问题描述】:

我正在使用 Facebook Marketing API、get_insights 端点获取数据,但我一直遇到一个速率限制问题。即使我尝试使用单个帐户,我也被限制在速率限制中。我想为大约 80-90 个帐户执行此操作,我的代码有时会成功返回,但有时会出现时间错误。有谁知道确切的原因是什么?你对超时有什么建议吗?

这是我的代码:

params = {
    'level': 'ad', 
    'action_breakdowns': ['action_type'],
    'time_increment': '1',
    'time_range': {'since': '2022-01-01', 'until': '2022-11-01'}

}
fields = ['account_id','ad_id','ad_name','adset_name','actions',
    'action_values', 'account_name', 'buying_type', 'clicks', 'frequency',
    'campaign_name', 'cpm', 'cpc', 'ctr', 'cpp', 'campaign_id', 'spend', 'unique_clicks',
    'unique_ctr','reach','social_spend','estimated_ad_recallers', 'impressions']

dataframe = AdAccount(ad_account_id).get_insights(
       params=params, fields=fields, is_async=True)
dataframe.api_get()
while dataframe[AdReportRun.Field.async_status] != 'Job Completed':
      time.sleep(1)
      dataframe.api_get()
time.sleep(1)
data = pd.DataFrame(dataframe.get_result())
data.reset_index(level=0, inplace=True)

【问题讨论】:

标签: python facebook-graph-api


【解决方案1】:

添加了 API 速率限制以避免 DOS 或 DDOS 攻击,因此您无法在没有管理员访问权限的情况下绕过它。您可以做的是创建一个cache (json) 文件来存储用户数据,如果您想再次访问它然后调用它。并且,不要为每个帐户调用 API(一次调用所有帐户)。

【讨论】:

  • 无法提供代码,因为没有提供足够的代码来调用 API。我希望解释有帮助!
猜你喜欢
  • 2016-02-17
  • 1970-01-01
  • 2015-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多