我需要使用TelegramBot API发送txt文件。
有问题:
{“ ok”:false,“ error_code”:400,“ description”:“ Bad Request:远程错误 指定的文件ID:字符串长度错误”}
答案 0 :(得分:0)
来自Telegram官方文档
发送文件有三种发送文件的方法(照片,贴纸,音频,媒体等):
如果文件已经存储在Telegram服务器上的某个位置,则您 无需重新上传:每个文件对象都有一个file_id字段, 只需将此file_id作为参数传递,而不是上传。那里 对以这种方式发送的文件没有限制。为电报提供HTTP 发送文件的URL。电报将下载并发送文件。 照片的最大大小为5 MB,其他类型的内容的最大大小为20 MB。 使用文件的通常方式使用multipart / form-data发布文件 通过浏览器上传。照片最大大小为10 MB,照片最大大小为50 MB 其它文件。通过file_id发送
通过file_id重新发送时,无法更改文件类型。 即视频不能作为照片发送,照片不能作为照片发送 文档等。无法重新发送缩略图。重新发送一个 由file_id拍摄的照片将发送其所有尺寸。 file_id是唯一的 每个机器人,并且不能从一个机器人转移到另一个。 通过URL发送
通过URL发送时,目标文件必须具有正确的MIME类型 (例如,用于sendAudio的音频/ mpeg等)。在sendDocument中,通过 目前,URL仅适用于gif,pdf和zip文件。使用 sendVoice,该文件的类型必须为audio / ogg且不超过 1MB的大小。 1–20MB语音便笺将作为文件发送。其他 配置可能有效,但我们不能保证一定会。
https://core.telegram.org/bots/api
这是您从问题中所需要的:
使用multipart / form-data以文件通常的方式发布文件 通过浏览器上传。照片最大大小为10 MB,照片最大大小为50 MB 其他文件
答案 1 :(得分:0)
为完成Donny的回答,我想添加一个发送.txt
文件作为文档的示例。
好像您正在使用OS X作为操作系统,它已预安装了curl
实用程序。
打开终端并发出这样的请求:
curl -v -F "chat_id=569502265" -F document=@/Users/users/Desktop/file.txt https://api.telegram.org/bot<TOKEN>/sendDocument