首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得电报bot的file_path?

如何获得电报bot的file_path?
EN

Stack Overflow用户
提问于 2017-04-27 05:48:29
回答 3查看 9.1K关注 0票数 3

我有一封电报bot网络钩子消息

代码语言:javascript
复制
{  
   "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
      }
   }
} 

电报bot API文档中,为下载文件指定了一个file_path。如何使用file_path或使用file_id获取file_path的API?

EN

回答 3

Stack Overflow用户

发布于 2018-05-23 16:51:18

您可以分两个步骤下载文件:

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

例如。比方说,你的机器人:1234:abcdfile_id:'xyz890

getFile request:

代码语言:javascript
复制
https://api.telegram.org/bot1234:abcd/getFile?file_id=xyz890

响应:

代码语言:javascript
复制
   {
      "ok": true,
      "result": 
        {
           "file_id": "xyz890",
           "file_size": 911,
           "file_path": "photos/file_name.jpg" 
         }
    }

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

代码语言:javascript
复制
https://api.telegram.org/file/bot1234:abcd/photos/file_name.jpg

API细节

票数 8
EN

Stack Overflow用户

发布于 2017-04-27 07:33:59

您应该尝试通过getFile方法来实现这一点,该方法返回一个文件对象。只需从文件中获取file_path字段并使用它。

票数 2
EN

Stack Overflow用户

发布于 2018-05-04 22:33:44

很简单:

请求:

代码语言:javascript
复制
https://api.telegram.org/bot<token>/getFile?file_id=<file_id>

答复:

代码语言:javascript
复制
{
  "ok": true,
  "result": {
    "file_id": "---",
    "file_size": 999,
    "file_path": "photos/file_59.jpg" <<--- file_path
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43649537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档