任务
我试图从与我们的业务经理相关的各种帐户中检索所有广告活动、广告和广告。
问题
我要访问的特定端点是:
当我使用filter参数查询这些帐户中的所有活动时,
[{'operator': 'IN',
'field': 'ad.effective_status',
'value': [
'ACTIVE',
'PAUSED',
'DELETED',
'PENDING_REVIEW',
'DISAPPROVED',
'PREAPPROVED',
'PENDING_BILLING_INFO',
'CAMPAIGN_PAUSED',
'ARCHIVED',
'ADSET_PAUSED']}]Facebook总是返回此错误:
{"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参数限制日期(这似乎与此无关)。{'operator': 'IN','field':'campaign.id','value':['xxxxxxxxxxxxx']}作为filter参数中的附加筛选器,将查询过滤到单独的活动中。/insights端点,但我还没有完成一项工作。其他细节
当我只在过滤器中包含ACTIVE活动时,查询就能工作了。这使我可以推断出DELETED的竞选活动是问题所在。换句话说,这些账户有大量的DELETED活动。
我使用PostmanVersion5.0.0 ( 5.0.0 )发出请求。
我想,如果我能弄清楚如何获得这些广告,广告和广告将会是相似的。我该怎么解决这个问题?
发布于 2017-08-22 12:09:16
原因是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"
}
}在查看了文档之后,我发现了这个adobjects
在这里他们说
如果保留已删除的对象id,则可以通过单独查询对象ID来继续检索统计数据或对象详细信息。但是,不能从未删除的节点/对象中作为连接对象检索已删除的对象。
https://stackoverflow.com/questions/44785739
复制相似问题