我正在使用图表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}}'
感谢任何帮助。感谢。
答案 0 :(得分:0)
Facebook的Batch API可能适合你。它允许从单个HTTP请求进行多个Graph API调用,并支持这些请求之间的依赖关系。阅读文档以获取详细信息,这里是一个示例curl调用可能如何工作(我没有执行此调用,因此请查看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