前提・実現したいこと
お世話になります。
Web上のお問い合わせフォームで入力いただいた内容をGmailに送信、
Google App Scriptを使って、Gmailの中からお問い合わせで届いたメールを抽出、そのメールの内容(お名前、住所、電話番号など)をSpread Sheetのセル内にそれぞれ抽出し、さらに抽出した内容をLINE Notifyを使って、LINEにも送信という仕様です。
そこで、お問い合わせで入力いただいたURLだけ抽出できずに困っています。
Google App Scriptのコードが間違っているか、他のやり方がありましたらどなたか教えていただけると幸いです。
何卒よろしくお願い致します。
参考にしたサイト
https://mikan.lunarscape.net/2018/10/report-cardinfo.html#toc4
スプレッドシート例
function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); var query = 'label:お問い合わせ is:unread'; var threads = GmailApp.search(query, 0, 100); var messages = GmailApp.getMessagesForThreads(threads); for(var i=0; i < messages.length; i++) { for(var j=0; j < messages[i].length; j++) { var mes = messages[i][j], body = mes.getPlainBody(); if ( body.match(/.*?:/) == null) continue; var name = fetchData(body, '会社名'), address = fetchData(body, '住所'), phone = fetchData(body, '電話番号'), url = fetchData(body, 'ウェブサイト'); sheet.appendRow([name, address ,phone ,url ]); mes.markRead(); var lineMes = "\n" + "\n" + "【お客様情報】" + "\n" + "会社名:" + name + "\n" + "住所:" + address + "\n" + "電話番号:" + phone + "\n" + "ウェブサイト:" + url; sendLineNotify(lineMes); } } } function fetchData(str, label) { var reg = new RegExp(label + '.*?:.*\r'); var data = str.match(reg)[0] .replace(/^.*: /, '') .replace(/\r/, ''); return data; } function sendLineNotify(message){ var token = 'LINE Notifyのトークンが入ります'; var options = { 'method' : 'post', 'payload' : 'message=' + message, 'headers' : {'Authorization' : 'Bearer '+ token} }; UrlFetchApp.fetch('https://notify-api.line.me/api/notify',options); }