1
GmailのApi経由で送信しようとしています。添付ファイルが5MBを超えるメールを休みます。これを達成するために、再開可能なアップロードで送信しようとしています。これは私のコードです。Gmail Api再開可能なアップロード残り(添付ファイルが5MBを超えています)
byte[] ba = System.IO.File.ReadAllBytes(uploadFromPath);
String base64String = Convert.ToBase64String(ba);
string url = "https://www.googleapis.com/upload/gmail/v1/users/me/messages/send?uploadType=resumable"
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Headers.Add("Authorization", "Bearer " + token);
request.Headers.Add("X-Upload-Content-Type", "message/rfc822");
request.Headers["X-Upload-Content-Length"]= base64String.Length.ToString();
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = body.Length;
私は場所に
location = res.Headers["Location"];
を取得していますし、その後、私は場所とPUT要求を行う要求を行った後。
最初のリクエストボディに何を挿入すればよいのか、2番目のリクエスト内に何を入れるべきかを知りたいと思います。 私はこのポストを見たことがありますAttaching a file using Resumable upload w/ Gmail API しかし、このコードは5MBより小さいファイルに対してのみ機能しました。 5MBを超えるアチチュメントを達成するために何かすべきことはありますか?
ペイロードのボディとパーツを初期化するにはどうすればよいですか?ペイロード本体の中に、添付ファイルのデータを設定すると、httpボディが大きくなりすぎて、不正なリクエストエラーが発生します。初期化されたHTTPボディの実際の例はありますか?さらに3段目のPUTリクエストの内部で、base64で変換された添付ファイルバイトのみを入力しますか? @noogui – kostas