このスクリプトは、電子メールからプレーン テキストを読み取り、それらを別の関数に送信して、正確な値をスプレッドシートに書き込みます。
私の問題は、電子メールのプレーンテキストからデータ (日付、名前など) を取得することです。
関数は次のとおりです。
var threads = GmailApp.search('label:aoaoaoaoa');
Logger.log(threads);
Logger.log(threads[0].getMessages());
Logger.log(threads[0].getMessages().length);
var messages;// = threads[0].getMessages();
var ContentEmail;// = messages[0].getBody();
var bodyRe = new RegExp("(?=start date)(.*)(?=finish date)");
for (var i = 0; i < threads.length; i++) {
messages = threads[i].getMessages()
ContentEmail = messages[0].getPlainBody();
var myArray = bodyRe.exec(ContentEmail);
Logger.log(myArray);
myArray が null です。2 つの単語の間のテキストを取得するために、多くの正規表現表記法を試しました。それらのいくつかは null を返します。他のものは、スクリプトで SyntaxError を引き起こしました。
これは、日付、名前、電話番号、電子メール、場所を取得したいメッセージの例です。
Confirmation Code: CAXNA3JAA Tue, October 01, 2013
start date Tue, October 08, 2013
finish date
Place: AOA Studio <http://www.**********************>
[image: Ali] <http://www.**********************>
Ali <http://www.***************************>
+49 000 000 00000
******@gmail.com
または、Google スクリプトの HTML 関数を使用してメールからデータを読み取ることをお勧めしますか? ここ