私は電子メールデータをGoogleスプレッドシートに抽出するためにgoogle appスクリプトを使用しています。私は変更しようとしている以下の作業コードを持っています。電子メールの本文をGoogleスプレッドシートに抽出する
名前*:名前
Eメール*:私はこのようになり、よりスマートな方法があります確信している...しかし、今、これは
function emf() { var ss = SpreadsheetApp.getActiveSheet(); var label = GmailApp.getUserLabelByName("tkh_emf"); var threads = label.getThreads(); for (var i=0; i<threads.length; i++) { var messages = threads[i].getMessages(); for (var j=0; j<messages.length; j++) { var name = messages[j].getPlainBody().split("Name*:")[1].split("\n")[0]; var email = messages[j].getPlainBody().split("E-mail*:")[1].split("\n")[0]; var phone = messages[j].getPlainBody().split("Phone:")[1].split("\n")[0]; var addr = messages[j].getPlainBody().split("Street Address:")[1].split("\n")[0]; var city = messages[j].getPlainBody().split("City*:")[1].split("\n")[0]; var find = messages[j].getPlainBody().split("hear about us?*:")[1].split("\n")[0]; var sub = messages[j].getSubject().split("Feedback via the ")[1].split("[")[0]; var num = messages[j].getSubject().split("Feedback via the ")[1].split("[")[1].split("]")[0]; var dat = messages[j].getDate(); var referrer = messages[j].getPlainBody().split("Referer URL:")[1].split("\n")[0]; ss.appendRow([name, email, phone, addr, city, find, sub, num, dat, referrer]) } threads[i].removeLabel(label); } }
を働く私の電子メールのための[email protected]
電話:
住所:3704第17回セント
市*:都市
あなたが私たちを知りました*どのよう:?検索エンジンは*要求された仕事の
簡単な説明を結果:ここ
仕事だから私のコードは、それぞれに適切な文字列を抽出し、必須ではない「電話」フィールドと「アドレス」フィールド以外のフィールド。これらのフィールドが入力されていない場合、電子メールには「電話」または「ストリート・アドレス」という単語がないため、ヌルを分割できないため、var phone
およびvar addr
の行は失敗します。 if文字列 'Phone'と 'Street Address'を挿入して上記を実行する方法はありますか?ありがとう。
電子メールまたはアドレスの形式を検証することもできますか、データを分割したいだけですか? – jmindel
データを分離しておくだけです。 – testing123
キャッチがスプリットエラーを無視する場所で、自分のtry {}ブロック内にそれぞれ電話をかけてアドレスを指定してみましたか? –