コーポレートルールの制約でDriveAppクラスのメソッドが使用できない環境だけど、Gmailに添付されたCSVファイルの中身をスプレッドシートに取り込みたかった。
目次
1. 概要
① GmailAppクラスのメソッドでメールを取得
② 添付ファイルをBlobで取得
③ getDataAsStringメソッドでテキストに変換
の要領でできました。
2. スクリプト
getCsvContent.js
function getCsvContent() {
var threads = GmailApp.search('<メール検索クエリ>', 0, 1);
threads.forEach(thread => {
var messages = thread.getMessages();
messages.forEach(message => {
let attachmentBlobs = message.getAttachments();
let attachmentBlob = attachmentBlobs[0];
let data = attachmentBlob.getDataAsString("UTF-8");
let csv = Utilities.parseCsv(data);
Logger.log(csv);
})
})
}