【问题标题】:How to download media files in WhatsApp API which send users?如何在 WhatsApp API 中下载发送用户的媒体文件?
【发布时间】:2021-09-26 06:16:34
【问题描述】:

我目前正在为 WhatsApp 编写聊天机器人。 我使用360dialog 平台,这使得使用 WhatsApp Business API 成为可能。

当客户端发送消息时,我在应用程序的日志中看到以下 JSON 对象:

{
    "messages": [
        {
            "from": "77773336633",
            "id": "ABGGd3c1cGY_Ago61ytHsZknvtLv",
            "image": {
                "id": "ffd23134-2dae-4fed-b5f8-0ce7867b6ddd",
                "mime_type": "image/jpeg",
                "sha256": "bd02100d961b5a1dbaae1dd645485ebbfeda77b44e82c015f1cf29b05654ccb9"
            },
            "timestamp": "1605703542",
            "type": "image"
        }
    ],
    "contacts": [
        {
            "profile": {
                "name": "Nurzhan Nogerbek"
            },
            "wa_id": "77773336633"
        }
    ]
}

我在文档中找不到有关如何下载此文件的任何信息。 就我而言,我想上传客户端发送到我的文件存储的这个图像文件。 请告诉我 WhatsApp API 中的哪个 URL 方法负责此机制?

P.S. 同时,我可以向客户发送文件。此信息可通过official documentation 获取。

【问题讨论】:

    标签: json whatsapp


    【解决方案1】:

    官方文档在https://developers.facebook.com/docs/whatsapp/api/media 中有一个会话。

    基本上,您必须发出 GET 请求才能下载媒体。

    curl --request GET \
      --url https://waba.360dialog.io/v1/media/{media id} \
      --header 'D360-API-KEY: {your api token}'
    

    【讨论】:

    • 有了这个你能解决吗?一个很长的字符串返回给我如何将图像保存在服务器上?
    • 这个解决方案不起作用。
    • 文档已经修改,新的url是这个developers.facebook.com/docs/whatsapp/api/media/media-id
    • 当你发出请求时,服务器会返回一个 blob 给你。您需要读取该 blob 并将其分配给缓冲区。 (Buffer.from(response.data).toString('base64')) 之后你可以对媒体内容做任何你想做的事情。
    猜你喜欢
    • 1970-01-01
    • 2019-12-15
    • 2023-01-13
    • 1970-01-01
    • 2022-07-13
    • 2020-11-08
    • 1970-01-01
    • 2019-01-26
    • 2016-09-02
    相关资源
    最近更新 更多