0

Gmailアカウントからデータを取り出すスクリプトがあります。スクリプトは受信トレイをスキャンしてメールを探し、関連するテキスト行を見つけてGoogleシートに配置します。gmail受信トレイとシートを同期させるGoogle Appスクリプト

車種:5761364、ポジション:

電子メールのようなものになります(GoogleマップへのURL)

を私はシートにデータを取得するために使用するスクリプトは次のとおりです。

function processInboxToSheet() { 
    var start = 0; 
    var threads = GmailApp.getInboxThreads(start, 100); 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var result = []; 

    for (var i = 0; i < threads.length; i++) { 
    var messages = threads[i].getMessages(); 

    var content = messages[0].getPlainBody(); 

    if (content) { 
     var tmp; 
     tmp = content.match(/Vehicle:\s*([A-Za-z0-9\s]+)(\r?\n)/); 
     var username = (tmp && tmp[1]) ? tmp[1].trim() : 'No vehicle'; 

     tmp = content.match(/Map Link:\s*([A-Za-z ][[email protected]#$%?=^.,:&*/ ]+)/); 
     var comment = (tmp && tmp[1]) ? tmp[1] : 'No url'; 

     sheet.appendRow([username, comment]); 

     Utilities.sleep(500); 
    } 
    } 
}; 

うGoogleシートが受信トレイの電子メールで自動的に更新されるような種類の同期機能を作成することが可能です。今は、実行するたびに複製を作成します。

また、電子メールが削除された場合に作成された行を削除するスクリプトを取得できるかどうかを誰かに教えてもらえますか。したがって、シートリストは常に受信トレイと同期していますか?

それが意味をなさないかどうか私に尋ねてください。

答えて

0

timebased triggerからスクリプトを実行することができます。また、そのたびにシート全体を書き直しただけで、削除された電子メールのエントリを削除することができます。受け取った日付をスプレッドシートに追加できれば、日付順に並べ替えることができます。

関連する問題