在同一查询中获取广告及其图片
我在使用图表API并尝试获取包含他们的见解和发布图片的广告列表。在同一查询中获取广告及其图片
我不想为此做多个查询,因为即使在使用批量查询时,我也很快达到了“(#17)用户请求达到的限制”问题。
我当前的查询看起来是这样的:
/ACCOUNT_ID_HERE/ads?fields=insights{cpc,reach,spend,clicks,ctr},status,creative
现在,为了得到这个职位的形象,我需要返回的广告ID,而在另一个查询中使用它拉后是这样的:
/CREATIVE_ID/?fields=object_story_id
然后使用返回的故事ID拉图所示:
/OBJECT_STORY_ID/?fields=picture
有什么办法可以将这些查询结合起来做更少的请求吗?
喜欢的东西:
/ACCOUNT_ID_HERE/ads?fields=insights{cpc,reach,spend,clicks,ctr},status,creative{object_story_id{picture}}'
任何帮助表示赞赏。谢谢。
Facebook的Batch API可能适合你。它允许从一个HTTP请求中创建多个Graph API调用,并支持这些请求之间的依赖关系。阅读文档以获取详细信息,这里有一个示例如何调用可能的工作(我没有执行此调用,因此请根据API文档和测试进行检查)。
curl \
-F 'access_token=...' \
-F 'batch=[
{
"method":"GET",
"name":"ads",
"relative_url":"/ACCOUNT_ID_HERE/ads?fields=insights{cpc,reach,spend,clicks,ctr},status,creative",
},
{
"method":"GET",
"name":"creative",
"relative_url":"/{result=ads:$.data.*.creative}/?fields=object_story_id"
},
{
"method":"GET",
"relative_url":"/{result=creative:$.data.*.object_story_id}/?fields=picture"
}
]' \
https://graph.facebook.com
感谢@bjeavons的帮助,但正如我的问题所述,我已经在使用批次,并且导致我达到此限制。我想这批中的每个请求都是一次计算的。 –
啊,我误解了这个方法也是对你的限制。是的,批次中的每个请求都被认为是一个请求 - “您也可以使用批处理API批量处理请求,但请注意,每个子请求都是自己的API调用,或者在指定多个API请求时IDS“。 https://developers.facebook.com/docs/graph-api/advanced/rate-limiting – bjeavons
有时没有'creative',有时'/'为零。 –
Nakilon
是的,但这是否意味着没有办法将这些请求合并? –
您应该至少可以在同一个调用'adcreatives {object_story_id}'中获取故事标识。 – serg