【发布时间】:2019-08-23 12:00:48
【问题描述】:
我需要使用 TelegramBot API 发送 txt 文件。
有问题:
{"ok":false,"error_code":400,"description":"错误请求:错误的远程 指定的文件 ID:错误的字符串长度”}
【问题讨论】:
标签: telegram-bot
我需要使用 TelegramBot API 发送 txt 文件。
有问题:
{"ok":false,"error_code":400,"description":"错误请求:错误的远程 指定的文件 ID:错误的字符串长度”}
【问题讨论】:
标签: telegram-bot
为了完成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
【讨论】:
来自 Telegram 官方文档
发送文件共有三种发送文件的方式(照片、贴纸、音频、媒体等):
如果文件已经存储在 Telegram 服务器的某个位置,您 不需要重新上传:每个文件对象都有一个 file_id 字段, 只需将此 file_id 作为参数传递,而不是上传。那里 以这种方式发送的文件没有限制。为 Telegram 提供 HTTP 要发送的文件的 URL。 Telegram 将下载并发送文件。 照片的最大大小为 5 MB,其他类型的内容最大为 20 MB。 使用 multipart/form-data 以通常的方式发布文件 通过浏览器上传。照片最大 10 MB,最大 50 MB 其它文件。通过file_id发送
通过 file_id 重新发送时无法更改文件类型。 IE。视频不能作为照片发送,照片不能作为照片发送 文件等。无法重新发送缩略图。重新发送 file_id 的照片将发送其所有尺寸。 file_id 是唯一的 每个单独的机器人,不能从一个机器人转移到另一个机器人。 通过网址发送
通过 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 其他文件
【讨论】: