Sin Note

multipart/form-dataのファイルをGASから送信する

2021/01/15 01:08#GoogleAppsScript

GASでファイルを送るには「multipart/form-data」

ファイルを送るには「multipart/form-data」を使うらしい。
とても苦戦したのでのせておきます。

ソースコード


app.gas
function uploadAttachment() {     var boundary = 'boundary';     var file = DriveApp //DriveApp obj     var data = file.getBlob().getDataAsString();     // PostDataフォーマット作成     var requestBody = Utilities.newBlob("--" + boundary + "\r\n"         + "Content-Disposition: form-data; name=\"file\"; filename=" + file.getName() + "\r\n"         + "Content-Type: application/octet-stream \r\n\r\n"         + "--" + boundary + "\r\n"         + data + "\r\n"         + "--" + boundary + "--\r\n"     );     var request = UrlFetchApp.fetch(url, {         contentType: 'multipart/form-data; boundary=' + boundary,         method: 'post',         payload: requestBody,         muteHttpExceptions: true     });     var responseJson = JSON.parse(request.getContentText());     return responseJson; }