web-dev-qa-db-ja.com

テレグラムボット経由でファイルを送信する方法

TelegramBot APIを使用してtxtファイルを送信する必要があります。

私はすでに試しました https://api.telegram.org/botMYT0KEN/sendDocument?chat_id=569502265&document=/Users/users/Desktop/file.txt

そして問題があります:

{"ok":false、 "error_code":400、 "description": "不正なリクエスト:指定されたリモートファイルIDが間違っています:文字列の長さが間違っています"}

3
JennyB

Telegramの公式ドキュメントから

ファイルの送信ファイルを送信するには、3つの方法(写真、ステッカー、オーディオ、メディアなど)があります。

ファイルがすでにテレグラムサーバーのどこかに保存されている場合は、ファイルを再アップロードする必要はありません。各ファイルオブジェクトにはfile_idフィールドがあり、アップロードする代わりに、このfile_idをパラメーターとして渡すだけです。この方法で送信されるファイルに制限はありません。送信するファイルのHTTP URLをテレグラムに提供します。 Telegramがファイルをダウンロードして送信します。写真の場合は最大5 MB、その他のタイプのコンテンツの場合は最大20 MB。ブラウザを介してファイルがアップロードされる通常の方法でmultipart/form-dataを使用してファイルを投稿します。写真は最大10 MB、その他のファイルは最大50 MB。 file_idによる送信

File_idで再送信する場合、ファイルタイプを変更することはできません。つまりビデオを写真として送信したり、写真をドキュメントとして送信したりすることはできません。サムネイルを再送信することはできません。 file_idで写真を再送信すると、すべてのサイズが送信されます。 file_idは個々のボットごとに一意であり、あるボットから別のボットに転送することはできません。 URLで送信

URLで送信する場合、ターゲットファイルは正しいMIMEタイプ(sendAudioの場合はaudio/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

0
Donny