📜  如何将图像发送到不在静态烧瓶中的模板 - Python (1)

📅  最后修改于: 2023-12-03 15:38:45.298000             🧑  作者: Mango

如何将图像发送到不在静态烧瓶中的模板 - Python

在发送动态模板的消息时,我们经常需要将图像附加到模板中。在本教程中,我们将学习如何使用Python编写代码将图像发送到不在静态烧瓶中的模板。

步骤1:导入需要的库

我们需要导入以下库:

import requests
import json
步骤2:准备数据

我们需要将图像转换为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编码的图像添加到动态模板中所需的数据。

步骤3:发送

我们使用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。