Gmailラベルに関連付けられているすべてのメールアドレスのリストを取得する方法
つまり、 this 質問と同様の方法ですが、特定のラベルに制限されています?
注:私はここに投稿しますあなた自身の質問に答えます-あなたの知識を共有します、Q&Aスタイル。私は前述の質問に答えを投稿するのに十分な担当者がいないからです。
URLを使用してスクリプトを実行します(Gmailに関する許可の質問を受け入れます):
https://script.google.com/macros/s/.../dev?label=nameofthelabel
スプレッドシートなどを必要とせずに、ブラウザで直接 アドレスを表示 します。
コード:
function doGet(e) {
var max = 100;
var offset = 0;
var searchThreads = [];
var addresses = [];
while (true) {
var threads = GmailApp.search("label:" + e.parameter.label, offset, max);
searchThreads = searchThreads.concat(threads);
if (threads.length < max) { break; }
offset += max;
}
for (var i = 0; i < searchThreads.length; i++) {
var messages = searchThreads[i].getMessages();
for (var j = 0; j < messages.length; j++) {
addresses.Push(messages[j].getFrom());
}
}
function onlyUnique(value, index, self) { return self.indexOf(value) === index; }
var addr = addresses.filter(onlyUnique).join('\n');
return ContentService.createTextOutput(addr).setMimeType(ContentService.MimeType.TEXT);
}
(*)末尾が/dev
の「最新のコード」リンクを選択すると、詳細な here のように、コードを少し変更するたびに再デプロイする必要がなくなります。