现在可以使用了!
https://core.telegram.org/bots/api#getfile https://core.telegram.org/bots/api#getfile
万岁!于 2015 年 9 月 18 日添加:
https://core.telegram.org/bots/api https://core.telegram.org/bots/api
Usage:
在消息的 JSON 中,您将收到file_id像之前一样。带有语音文件的消息对象的示例:
{
message_id: 2675,
from: {
id: 10000001,
first_name: 'john',
username: 'john'
},
chat: {
id: 10000001,
first_name: 'john',
username: 'john'
},
date: 1442848171,
voice: {
duration: 2,
mime_type: 'audio/ogg',
file_id: 'AwADBAADYwADO1wlBuF1ogMa7HnMAg', // <------- file_id
file_size: 17746
}
}
通过 API getFile 您现在可以获得文件所需的路径信息:
https://api.telegram.org/bot<bot_token>/getFile?file_id=the_file_id
这将返回一个对象file_id, 文件大小 and 文件路径。然后您可以使用文件路径下载文件:
https://api.telegram.org/file/bot<token>/<file_path>
请注意,此链接仅可用一个小时。一小时后,您可以请求另一个链接。这意味着,如果您想以某种方式托管该文件,并且您宁愿避免每次提供该文件时检查和重新检查新链接,您最好将该文件下载到您自己的托管服务。
通过该方法获取的文件最大大小为20MB.错误:使用大于20mb的文件时获取。(如下所示)
{"ok":false,"error_code":400,"description":"Bad Request: file is too big[size:1556925644]"}
来自电报的文档:
成功时,返回一个 File 对象。然后可以通过链接下载该文件https://api.telegram.org/file/bot https://api.telegram.org/file/bot/,其中 取自响应。保证链接有效期至少1小时。当链接过期时,可以通过再次调用 getFile 来请求新的链接。目前,机器人可以下载最大 20MB 的文件。