0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【GAS】Googleドライブを経由せず、Gmailに添付されたCSVファイルの中身をGASで取得したい

Last updated at Posted at 2023-04-04

コーポレートルールの制約でDriveAppクラスのメソッドが使用できない環境だけど、Gmailに添付されたCSVファイルの中身をスプレッドシートに取り込みたかった。

目次

1. 概要
2. スクリプト
3. 実践

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);
      })
  })
}

3. 実践

CSVの中身はこんな感じ
image.png

出力結果はこんな感じ(二次配列で取得できる)
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?