📅  最后修改于: 2023-12-03 15:38:45.298000             🧑  作者: Mango
在发送动态模板的消息时,我们经常需要将图像附加到模板中。在本教程中,我们将学习如何使用Python编写代码将图像发送到不在静态烧瓶中的模板。
我们需要导入以下库:
import requests
import json
我们需要将图像转换为base64编码,并将其放入我们将发送的消息中。以下是一个示例:
import base64
with open("image.png", "rb") as image_file:
encoded_string = base64.b64encode(image_file.read()).decode('utf-8')
data = {
"recipient": {"id": recipient_id},
"message": {
"attachment": {
"type": "template",
"payload": {
"template_type": "generic",
"image_aspect_ratio": "square",
"elements": [
{
"title": "Sample Image",
"image_url": "data:image/png;base64," + encoded_string,
"buttons": [
{
"type": "postback",
"title": "Button 1",
"payload": "button_1"
},
{
"type": "postback",
"title": "Button 2",
"payload": "button_2"
}
]
}
]
}
}
}
}
在上面的代码中,我们首先将图像转换为base64编码。然后我们创建一个发送的JSON,其中包含将base64编码的图像添加到动态模板中所需的数据。
我们使用requests库将JSON发送到Facebook Messenger API:
response = requests.post("https://graph.facebook.com/v2.6/me/messages", params=params, headers=headers, data=json.dumps(data))
现在,我们学会了如何将图像发送到不在静态烧瓶中的模板。 在使用这个代码之前,请确保您已经为Facebook Messenger API获取了有效的访问令牌,并已在接收者ID中提供有效的用户ID。