我正在尝试让我的脚本对满足特定要求的父帖的所有评论发表评论。我可以让文本可靠地发布,但我似乎无法显示照片附件。我在Python3中编程并使用Facebook-sdk库来协助。
在阅读Graph API文档时,我发现评论边缘描述了以下字段:
attachment_id
上传到Facebook的未发布照片的可选ID(请参阅/ {user-id} / photos中的no_story字段)以包含为照片评论。发布时必须提供attachment_url,attachment_id,message或source之一。 (字符串)
attachment_url
要包含为照片评论的图片的网址。发布时必须提供attachment_url,attachment_id,message或source之一。 (字符串)
源
作为表单数据编码的照片,用作照片评论。发布时必须提供attachment_url,attachment_id,message或source之一。 (多部分/格式数据)
我的代码目前已格式化(我提供了与此问题相关的部分代码):
my_dict = {
0: ('file_1.JPG', "Some text for file 1"),
1: ('file_2.jpg', "Different text for file 2"),
2: ('file_3.JPG', "More different text for file 3"),
3: ('file_4.JPG', "A fourth bit of text for file 4.")
}
comments = api.get_object('PAGE.NUMBER.HERE?fields=posts{comments}')
com_index = comments['posts']['data'][0]['comments']['data']
photo_id = my_dict[x][0]
my_image = 'file:///Users/filepath/{}'.format(photo_id)
text = my_dict[x][1]
api.put_object(com_index[com_index]['id'], "comments/comments", source=(my_image, 'image/jpg'), message=text)
无论有没有' image / jpg'源元组中的参数。
而不是使用'来源'我也试过了:
attachment_url=card_image
attachment=card_image
使用attachment_url时,我收到了无效的网址错误;当使用其他参数时,文本总是被发布但照片不会被发布。
最后,我尝试将边缘更改为评论的/ photos边缘,而不是另一条评论的/ comments边缘,但仍然没有运气(如下所示):
api.put_object(com_index[comment]['id'], "comments/photo", source=(my_image, 'image/jpg'), message=text)
发布带照片附件的回复的正确方法是什么?
答案 0 :(得分:0)
我不是一个Python人,但也许这无论如何都有效;)
my_dict = {
0: ('file_1.JPG', "Some text for file 1"),
1: ('file_2.jpg', "Different text for file 2"),
2: ('file_3.JPG', "More different text for file 3"),
3: ('file_4.JPG', "A fourth bit of text for file 4.")
}
comments = api.get_object('PAGE.NUMBER.HERE?fields=posts{comments}')
com_index = comments['posts']['data'][0]['comments']['data']
photo_id = my_dict[x][0]
my_image = 'file:///Users/filepath/{}'.format(photo_id)
photo = open(my_image)
text = my_dict[x][1]
api.put_object(com_index[com_index]['id'], "comments/comments", source=photo.read(), message=text)
photo.close()
答案 1 :(得分:0)
我认为自{2.1}版以来{objet-id}/comments
已弃用。检查this。