【问题标题】:How can i get file_path of telegram bot我如何获取电报机器人的 file_path
【发布时间】:2017-09-24 18:17:27
【问题描述】:

我有一个类似于

的电报机器人 webhook 消息
{  
   "update_id":236420475,
   "message":{  
      "message_id":26577,
      "from":{  
         "id":xxxxxxxx,
         "first_name":"DB",
         "last_name":"Ks",
         "username":"xxxxxxxx"
      },
      "chat":{  
         "id":193044649,
         "first_name":"DB",
         "last_name":"Ks",
         "username":"xxxxxxxx",
         "type":"private"
      },
      "date":1493266832,
      "voice":{  
         "duration":2,
         "mime_type":"audio/ogg",
         "file_id":"AwADBQADBAADQKMIVC978KStO6ZhAg",
         "file_size":7532
      }
   }
} 

telegram bot API documentation 指定了一个用于下载文件的file_path。如何使用 file_id 获取 file_path 或任何用于获取 file_path 的 API?

【问题讨论】:

  • 为什么需要文件路径?为了什么?
  • @anatol 用于下载音频文件。我需要将其转换为短信。

标签: telegram telegram-bot telegram-webhook


【解决方案1】:

您可以分两步下载文件:

  1. 调用 getFile() ,作为响应,您将收到一个响应,如 Alexey Shablowski 所示,其中返回一个带有响应值的 file_path
  2. 使用此文件路径调用他们的文件下载端点。

例如。假设您的机器人 auth token1234:abcdfile_id:'xyz890'

getFile request:

https://api.telegram.org/bot1234:abcd/getFile?file_id=xyz890

回复:

   {
      "ok": true,
      "result": 
        {
           "file_id": "xyz890",
           "file_size": 911,
           "file_path": "photos/file_name.jpg" 
         }
    }

现在获取file_path 字符串值并构建完整的可下载链接:

https://api.telegram.org/file/bot1234:abcd/photos/file_name.jpg


API detail

【讨论】:

    【解决方案2】:

    您应该尝试通过getFile 方法来执行此操作,该方法返回一个File 对象。只需从 File 中获取 file_path 字段并使用它。

    【讨论】:

      【解决方案3】:

      很简单:

      请求:

      https://api.telegram.org/bot<token>/getFile?file_id=<file_id>
      

      回复:

      {
        "ok": true,
        "result": {
          "file_id": "---",
          "file_size": 999,
          "file_path": "photos/file_59.jpg" <<--- file_path
        }
      }
      

      【讨论】:

        猜你喜欢
        • 2017-08-18
        • 2018-07-18
        • 2019-01-08
        • 2017-11-04
        • 2018-01-12
        • 2016-09-08
        • 2022-06-10
        • 2016-08-20
        • 2018-06-04
        相关资源
        最近更新 更多