質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

634閲覧

google app scriptを利用したgmailの本文の一部をスプレッドシートにコピーしたい

mixa3328

総合スコア0

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

1クリップ

投稿2021/10/21 01:08

前提・実現したいこと

gmailに送られてきたカード決済のデータを
自動でスプレッドシートに張り付けていくこと

題名の通り
スプレッドシートに書き込むことが目標です。
なぜか、読み込めないのか作業がすぐ終わってしまいます。
何卒回答いただけると幸いです

発生している問題・エラーメッセージ

実行を何度してもエラーが出るわけでもなく一秒足らずで作業は終わるが、スプレッドシートには一言も書かれていません

エラーメッセージなし

該当のソースコード

googleappsscript

1function getPayments() { 2 // メール検索クエリを作成 3 const SUBJECT = 'ご利用のお知らせ【〇〇カード】'; // 利用お知らせメールの件名 4 const ADDRESS = 'noreply@samplecard.co.jp'; // お知らせメールの送信元 5 const LABEL_NAME = 'カード利用明細メール'; // ラベル名 6 const QUERY = 'subject:' + SUBJECT + ' from:' + ADDRESS + ' -label:' + LABEL_NAME; 7 8 // メールを検索 9 threads = GmailApp.search(QUERY); 10 11 // 該当メールがあった場合 12 if(threads.length > 0) { 13 const KEYWDS = ['利用日:', '利用金額:']; 14 const LABEL = GmailApp.getUserLabelByName(LABEL_NAME); 15 16 msgs = GmailApp.getMessagesForThreads(threads); 17 sheet = SpreadsheetApp.getActiveSheet(); 18 19 for(i=0; i<msgs.length; i++){ 20 // 本文を取得 21 plainBody = msgs[i][0].getPlainBody(); 22 sheet.appendRow([ 23 plainBody.match(/利用日:.*/)[0].replace(KEYWDS[0], ''), 24 plainBody.match(/利用金額:[\d,]+円/)[0].replace(KEYWDS[1], ''), 25 ]); 26 // 処理の完了後、ラベルを付与 27 threads[i].addLabel(LABEL); 28 }; 29 30 // 料金列に通貨表示を適用 31 amounts = sheet.getRange('B:B'); 32 setCurrencyLayout(amounts); 33 } 34} 35function setCurrencyLayout(range) { 36 range.setNumberFormat('[$¥-411]#,##0'); 37}

試したこと

ラベルの名前などの日本語に間違いがあるかと思ったため、gmail上の名前をコピーして貼り付けた

補足情報(FW/ツールのバージョンなど)

新しいgoogle apps script画面での編集を行いました

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

logger.log(Body);で調べることができますが、labelなどの指定ミスによりスレッドが一つも見つからないのが原因でした。

調べていく中で別のコードがいい感じにはまったのでそちらを利用させていただいております

https://qiita.com/shika-e/items/2e88df51b748c85fbd15

よろしければどうぞ

投稿2021/10/22 10:58

mixa3328

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問