誰も私を助けることができますか?
ファイル(画像)をプライベートドライブフォルダーにアップロードするGoogleフォームを作成しました。フォームは画像のURLを含む応答をGoogleシートに送信します。以下のコードはファイルIDを取得し、画像を添付ファイルとして送信しますが、電子メールの本文では送信しません。フォルダはプライベートである必要があります。
function sendImage(){
var sheet = SpreadsheetApp.getActive().getActiveSheet();
var fileUrl = sheet.getRange('C2').getValue();
var index = fileUrl.indexOf('=') + 1;
var fileId = fileUrl.substring(index);
var img = DriveApp.getFileById(fileId).getBlob();
MailApp.sendEmail({
name: "my Name",
to: '[email protected]',
subject: "Test 1",
body: img,
attachments: img,
});
}
この変更はどうですか? MailApp.sendEmail()
にある高度なパラメーターのinlineImagesを使用して、画像を含むメールを送信できます。すでに画像BLOBを取得できました。この変更されたスクリプトでは、blobが使用されます。
function sendImage(){
var sheet = SpreadsheetApp.getActive().getActiveSheet();
var fileUrl = sheet.getRange('C2').getValue();
var index = fileUrl.indexOf('=') + 1;
var fileId = fileUrl.substring(index);
var img = DriveApp.getFileById(fileId).getBlob();
MailApp.sendEmail({
name: "my Name",
to: '[email protected]',
subject: "Test 1",
htmlBody: "<img src=\"cid:sampleImage\">", // Modified
inlineImages: {sampleImage: img} // Modified
});
}