連絡先に電子メールアドレスがあるかどうかを示すgoogleスクリプト用のプログラムが必要です。新しい連絡先がアドレス、件名、メッセージを取得する場合
私は毎日ベンダーから多くのメールを受け取り、それらの多くは完全に新しい連絡先です。新しい連絡先だけのリストを作成するプログラムが必要なので、追加する連絡先グループも決めることができます。私が探しているものの
基本構造:
がこのプログラムに5分ごとに(私はそれを設定することができます)
-Checks emails with yellow or blue star for email address of recipient and sender. filters out my email address.
-Checks the email address against all my contacts. If the email address does not appear in my google contacts I need:
Email address, subject line, message text, additional thread message, additional thread message... in seperate columns in a spreadsheet.
を実行します私はその後を決めるために手動でこの情報を通過しますどのグループに入れてもいいですか。
ありがとうございました!私がでてるところ////////////////////////////// update.3
UPDATEがここにあります。これはオンとオフで動作しています。私はそれを動作させると、もう一度それは動作しません。本当に迷惑。誰かが悩ましい問題を見ることができるなら私に知らせてください。特にsndrを取得するのは難しく、rcpntがfalseを返してプログラムの残りの部分を実行するのが難しい場合。私は約20の方法を試した!
//http://webapps.stackexchange.com/questions/9813/get-e-mail-addresses-from-gmail-messages-received
/////////////NESTED LOOP METHOD
function newEmailAddressList(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("NewEmails");
var range = sheet.getRange("A2:BA");
var addrA;
range.clearContent(); //May need to change this to my delete function to speed things up.
var contact = ContactsApp.getContacts();
for(var i = 0;i < contact.length;i++){
var addrA = [];
var start;
var addresses = contact[i].getEmails();
for(var j = 0;j < addresses.length;j++){
addrA.push(addresses[j].getAddress());
};
};
sheet.getRange('H1').setValue("List Created");
for (var i=0; i<50; i++){
var threads = GmailApp.getInboxThreads(0,50)[i];
var messages = threads.getMessages()[0];
var sndr = messages.getFrom().replace(/^.+<([^>]+)>$/, "$1"); //http://stackoverflow.com/questions/26242591/is-there-a-way-to-get-the-specific-email-address-from-a-gmail-message-object-in
var rcpnt = messages.getTo().replace(/^.+<([^>]+)>$/, "$1");
function contains(addrA, sndr) {
for (var i = 0; i < addrA.length; i++) {
if (addrA[i] === sndr) {
sheet.appendRow("Emails Match");
}else{
var dat = messages.getDate();
//var sndr = messages.getFrom();
//var rcpnt = messages.getTo();
var sub = messages.getSubject();
var msg = messages.getPlainBody();
var info = [dat,sndr,rcpnt,sub,msg];
sheet.appendRow(info); //appendRow only works with sheet class not range class
};
};
};
};
};
私があなたに与えた最初のコードは、アドレスと連絡先のアドレスから電子メールを表示します。モードレスダイアログの白い背景にスクロールします。しかし、スプレッドシートを実行するときは、スプレッドシートを見なければなりません。そのため、私はいつもそれらをMy Toolsメニューに入れています。私は何が起こっているかを見ることができます。 Logger.log()の表示よりも好きです。 – Cooper
配列は単なるjavascript配列です。そこにはたくさんのJavascriptチュートリアルがあります。 [Here's](https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript)私はたくさん行く場所です。 range.getValueとrange.setValueを扱うことにはいくつかの特有の問題があり、最初の数回の演奏では苦労します。配列と範囲が同じサイズであることを確認しなければなりません。範囲が1から始まり、配列が0から始まることがさらに悪くなります。 – Cooper