我正在建立一个针对广告爬行的网络服务。我通过隐藏的API文档中的REST请求映射了我的功能,并且在一堆授权和混合的新旧命名约定(例如adgroup vs ad)之后,我终于设法制作了我走向一个非常重要的电话,表现得非常奇怪。我解释一下:
首先,为了争论,我做了以下调用:
https://graph.facebook.com/v2.6/<adcreative_id>?fields=comment_count,like_count&access_token=<my_token>
它很漂亮,我得到这样的东西:
{
"comment_count": 4,
"like_count": 175,
"id": "<adcreative's_id>"
}
在达到adcreative的评论时,确定性地发生了两件事之一。说我提交以下电话:
https://graph.facebook.com/v2.6/ /评论字段=消息,created_at,comment_type,instagram_user&安培; =的access_token
(1)当所有帖子都有它的标题(API也看作评论)时,它会给我一个非常好的回复,如:
{
"data": [
{
"message": "here goes the actual ad's caption, as written by the advertiser",
"created_at": "2016-04-22T18:36:01+0000",
"instagram_user": {
"id": "0123456789"
},
"comment_type": "CAPTION",
"id": "<actual_comment_id>"
}
]
}
(2)当帖子有实际评论(任何高于零的数字而不计算CAPTION
评论)时,我总是得到一个空的回复:
{
"data": [
]
}
我仔细检查了我要求用户在身份验证时授予的权限,这些权限目前是ads_management
,ads_read
,page_management
和read_insights
。我还检查了我已授权相关AdAccount
使用广告API。最后,我甚至验证了User Account
我登录的广告客户拥有AdAccount
我尝试阅读的广告客户权利。
答案 0 :(得分:0)
从评论中添加答案。在这种情况下,解决方案是使用<instagram_story_id>
而不是<adcreative_id>
。