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