createLabel(name)
| Arguments : |
| name | Type | 説明 |
|
name | String |
新規に作成されたラベル名
|
| サンプル : |
// creates the label @FOO and logs label: FOO
Logger.log("label: " + GmailApp.createLabel("FOO"));
|
deleteLabel(label)
| サンプル : |
// have to get the label by name first
var label = GmailApp.getUserLabelByName("FOO");
GmailApp.deleteLabel(label);
|
getChatThreads()
-
ラベルに関係なくすべてのチャットのスレッドを取得する
この呼び出しはシステムが制御するには大きすぎるスレッドサイズの場合はエラーとなる。
スレッドサイズが未知、または前以て非常に大きいと思われる場合は”paged”を呼び出して、呼び出しのなかで回収されるスレッド範囲を特定する。
| サンプル : |
// get all chat threads (max of 500)
var threads = GmailApp.getChatThreads();
Logger.log("# of chat threads: " + threads.length);
|
getChatThreads(start, max)
-
ラベルに関係なくチャットのスレッドの範囲を取得する
| Arguments : |
| name | Type | 説明 |
|
start | int |
取得する最初のスレッドのインデックス |
|
max | int |
取得するスレッドの最大数 |
| サンプル : |
// get first 50 chat threads
var threads = GmailApp.getChatThreads(0,50);
// will log no more than 50.0
Logger.log(threads.length);
Logger.log(threads[0].getFirstMessageSubject());
|
getInboxThreads()
-
ラベルに関係なくすべての受信トレイ内のスレッドを取得する
この呼び出しはシステムが制御するには大きすぎるスレッドサイズの場合はエラーとなる。
スレッドサイズが未知、または前以て非常に大きいと思われる場合は”paged”を呼び出して、呼び出しのなかで回収されるスレッド範囲を特定する。
| サンプル : |
// Log the subject lines of your inbox
var threads = GmailApp.getInboxThreads();
for (var i = 0; i < threads.length; i++) {
Logger.log(threads[i].getFirstMessageSubject());
}
|
getInboxThreads(start, max)
-
ラベルに関係なくすべての受信トレイ内のスレッドの範囲を取得する
| Arguments : |
| name | Type | 説明 |
|
start | int |
取得する最初のスレッドのインデックス |
|
max | int |
取得するスレッドの最大数 |
| サンプル : |
// Log the subject lines of up to the first 50 emails in your inbox
var threads = GmailApp.getInboxThreads(0, 50);
for (var i = 0; i < threads.length; i++) {
Logger.log(threads[i].getFirstMessageSubject());
}
|
getInboxUnreadCount()
| 戻り値 : |
| Type | 説明 |
|
int |
未読メッセージの数
|
| サンプル : |
Logger.log("Messages unread in inbox: " + GmailApp.getInboxUnreadCount());
|
getMessageById(id)
| Arguments : |
| name | Type | 説明 |
|
id | String |
取得すべきメッセージのid
|
| サンプル : |
// get the first message in the first thread of your inbox
var message = GmailApp.getInboxThreads(0, 1)[0].getMessages()[0];
// get it's id
var messageId = message.getId();
// now fetch the same message by that id
var messageById = GmailApp.getMessageById(messageId);
// should always log true as they should be the same message
Logger.log(message.getSubject() == messageById.getSubject());
|
getMessagesForThread(thread)
| Arguments : |
| name | Type | 説明 |
|
thread | GmailThread |
取得すべきメッセージのスレッド
|
| サンプル : |
// Log all the subject lines in the first thread of your inbox
var thread = GmailApp.getInboxThreads(0, 1)[0];
var messages = GmailApp.getMessagesForThread(thread);
for (var i = 0 ; i < messages.length; i++) {
Logger.log("subject: " + messages[i].getSubject());
}
|
getMessagesForThreads(threads)
| Arguments : |
| name | Type | 説明 |
|
threads | GmailThread |
取得すべきメッセージの複数スレッド
|
| サンプル : |
// Log the subject lines of all messages in the first two threads of your inbox
var thread = GmailApp.getInboxThreads(0, 2);
var messages = GmailApp.getMessagesForThreads(thread);
for (var i = 0 ; i < messages.length; i++) {
for (var j = 0; j < messages[i].length; j++) {
Logger.log("subject: " + messages[i][j].getSubject());
}
}
|
getPriorityInboxThreads()
-
ラベルに関係なく優先される受信トレイ内のスレッドを取得する
この呼び出しはシステムが制御するには大きすぎるスレッドサイズの場合はエラーとなる。 スレッドサイズが未知、または前以て非常に大きいと思われる場合は”paged”を呼び出して、呼び出しのなかで回収されるスレッド範囲を特定する。
| サンプル : |
Logger.log("# of messages in your priority inbox " + GmailApp.getPriorityInboxThreads().length);
|
getPriorityInboxThreads(start, max)
-
ラベルに関係なく優先される受信トレイ内のスレッドの範囲を取得する
| Arguments : |
| name | Type | 説明 |
|
start | int |
取得すべき最初のスレッドのインデックス
|
|
max | int |
取得すべきスレッド数の最大値
|
| サンプル : |
// will log some number 2 or less
Logger.log("# of messages in your priority inbox " + GmailApp.getPriorityInboxThreads(0, 2).length);
|
getPriorityInboxUnreadCount()
| 戻り値 : |
| Type | 説明 |
|
int |
未読メッセージのあるスレッド数
|
| サンプル : |
Logger.log("Number of unread emails in your priority inbox : " + GmailApp.getPriorityInboxUnreadCount());
|
getStarredThreads()
-
ラベルに関係なくすべてのスター付きのスレッドを取得する
この呼び出しはシステムが制御するには大きすぎるスレッドサイズの場合はエラーとなる。 スレッドサイズが未知、または前以て非常に大きいと思われる場合は”paged”を呼び出して、呼び出しのなかで回収されるスレッド範囲を特定する。
| サンプル : |
// logs the number of starred threads
Logger.log("# Starred threads: " + GmailApp.getStarredThreads().length);
|
getStarredThreads(start, max)
-
ラベルに関係なくすべてのスター付きのスレッドの範囲を取得する
| Arguments : |
| name | Type | 説明 |
|
start | int |
取得すべき最初のスレッドのインデックス
|
|
max | int |
取得すべきスレッド数の最大値
|
| サンプル : |
// logs the number of starred threads to a maximum of 5
Logger.log("# Starred threads: " + GmailApp.getStarredThreads(0, 5).length);
|
getStarredUnreadCount()
| 戻り値 : |
| Type | 説明 |
|
int |
未読メッセージのあるスレッド数
|
| サンプル : |
Logger.log("# unread and starred: " + GmailApp.getStarredUnreadCount());
|
getSpamThreads()
-
ラベルに関係なくすべてのスパムスレッドを取得する
この呼び出しはシステムが制御するには大きすぎるスレッドサイズの場合はエラーとなる。 スレッドサイズが未知、または前以て非常に大きいと思われる場合は”paged”を呼び出して、呼び出しのなかで回収されるスレッド範囲を特定する。
| サンプル : |
Logger.log("# of total spam threads: " + GmailApp.getSpamThreads().length);
|
getSpamThreads(start, max)
-
ラベルに関係なくすべてのスパムスレッドの範囲を取得する
| Arguments : |
| name | Type | 説明 |
|
start | int |
取得すべき最初のスレッドのインデックス
|
|
max | int |
取得すべきスレッド数の最大値
|
| サンプル : |
// will log a number at most 5
Logger.log("# of total spam threads: " + GmailApp.getSpamThreads(0, 5).length);
|
getSpamUnreadCount()
| 戻り値 : |
| Type | 説明 |
|
int |
未読メッセージのあるスレッド数を取得する
|
| サンプル : |
//実際にスパムフォルダで何かを読んでいない限り、
//これは迷惑メールフォルダ内の#メッセージと同じです
Logger.log("# unread and spam: " + GmailApp.getStarredUnreadCount());
|
getThreadById(id)
| Arguments : |
| name | Type | 説明 |
|
id | String |
取得すべきスレッドのid
|
| サンプル : |
// thread ids can also be found in the location bar when you have a thread open in gmail
// get first inbox thread
var firstThread = GmailApp.getInboxThreads(0,1)[0];
// get the same thread by id
var threadById = GmailApp.getThreadById(firstThread.getId());
// verify they are the same
Logger.log(firstThread.getFirstMessageSubject() == threadById.getFirstMessageSubject());
|
getTrashThreads()
-
ラベルに関係なくすべてのゴミ箱のスレッドを取得する
この呼び出しはシステムが制御するには大きすぎるスレッドサイズの場合はエラーとなる。 スレッドサイズが未知、または前以て非常に大きいと思われる場合は”paged”を呼び出して、呼び出しのなかで回収されるスレッド範囲を特定する。
| サンプル : |
Logger.log("# of total trash threads: " + GmailApp.getTrashThreads().length);
|
getTrashThreads(start, max)
-
ラベルに関係なくすべてのゴミ箱のスレッドの範囲を取得する
| Arguments : |
| name | Type | 説明 |
|
start | int |
取得すべき最初のスレッドのインデックス
|
|
max | int |
取得すべきスレッド数の最大値
|
| サンプル : |
// will log a number at most 5
Logger.log("# of total trash threads: " + GmailApp.getTrashThreads(0, 5).length);
|
getUserLabelByName(name)
| Arguments : |
| name | Type | 説明 |
|
name | String |
取得すべきラベルの名前
|
| サンプル : |
var labelObject = GmailApp.getUserLabelByName("myLabel");
|
getUserLabels()
-
ラベルの作成されたユーザーリストを取得する
参考;getUserLabel
| 戻り値 : |
| Type | 説明 |
|
Gmail |
ラベルのあるユーザーの配列
|
| サンプル : |
// logs all of the names of your labels
var labels = GmailApp.getUserLabels();
for (var i = 0; i < labels.length; i++) {
Logger.log("label: " + labels[i].getName());
}
|
markMessageRead(message)
| サンプル : |
// mark the first message in the first thread of your inbox as read
var message = GmailApp.getInboxThreads(0, 1)[0].getMessages()[0];
GmailApp.markMessageRead(message);
|
markMessageUnread(message)
| サンプル : |
// mark the first message in the first thread of your inbox as unread
var message = GmailApp.getInboxThreads(0, 1)[0].getMessages()[0];
GmailApp.markMessageUnread(message);
|
markMessagesRead(messages)
| サンプル : |
// mark first three messages in the first inbox thread as read
// assumes that the first inbox thread has 3 messages in it
var threadMessages = GmailApp.getInboxThreads(0, 1)[0].getMessages();
var messages = [threadMessages[0], threadMessages[1], threadMessages[2]];
GmailApp.markMessagesRead(thread.getMessages());
|
markMessagesUnread(messages)
| サンプル : |
// mark first three messages in the first inbox thread as unread
// assumes that the first inbox thread has 3 messages in it
var threadMessages = GmailApp.getInboxThreads(0, 1)[0].getMessages();
var messages = [threadMessages[0], threadMessages[1], threadMessages[2]];
GmailApp.markMessagesUnread(thread.getMessages());
|
markThreadImportant(threads)
| サンプル : |
// Marks first two threads in inbox as important
var threads = GmailApp.getInboxThreads(0, 2);
GmailApp.markThreadsImportant(threads);
|
markThreadsUnimportant(threads)
| サンプル : |
// Marks first two threads in inbox as unimportant
var threads = GmailApp.getInboxThreads(0, 2);
GmailApp.markThreadsUnimportant(threads);
|
markThreadRead(thread)
| サンプル : |
// marks first inbox thread as read
var thread = GmailApp.getInboxThreads(0, 1)[0];
GmailApp.markThreadRead(thread);
|
markThreadUnread(thread)
| サンプル : |
// marks first inbox thread as unread
var thread = GmailApp.getInboxThreads(0, 1)[0];
GmailApp.markThreadUnread(thread);
|
markThreadsImportant(threads)
| サンプル : |
// Marks first two threads in inbox as important
var threads = GmailApp.getInboxThreads(0, 2);
GmailApp.markThreadsImportant(threads);
|
markThreadsUnimportant(threads)
| サンプル : |
// Marks first two threads in inbox as unimportant
var threads = GmailApp.getInboxThreads(0, 2);
GmailApp.markThreadsUnimportant(threads);
|
markThreadsRead(threads)
| サンプル : |
// Marks first two threads in inbox as read
var threads = GmailApp.getInboxThreads(0, 2);
GmailApp.markThreadsRead(threads);
|
markThreadsUnread(threads)
| サンプル : |
// Marks first two threads in inbox as unread
var threads = GmailApp.getInboxThreads(0, 2);
GmailApp.markThreadsUnread(threads);
|
moveMessageToTrash(message)
| サンプル : |
// move the first message in your inbox to trash
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var firstMessage = firstThread.getMessages()[0];
GmailApp.moveMessageToTrash(firstMessage);
|
moveMessagesToTrash(messages)
| サンプル : |
// move first two messages in your inbox to trash
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var messages = firstThread.getMessages();
var toDelete = [messages[0], messages[1]];
GmailApp.moveMessagesToTrash(toDelete);
|
moveThreadToArchive(thread)
| サンプル : |
// archive first inbox thread
var firstThread = GmailApp.getInboxThreads(0,1)[0];
GmailApp.moveThreadToArchive(firstThread);
|
moveThreadToInbox(thread)
| Arguments : |
| name | Type | 説明 |
|
thread | GmailThread |
受信トレイに移動されるスレッド
|
| サンプル : |
// find a thread not already in your inbox
var thread = GmailApp.search("-in:inbox")[0]; // get the first one
GmailApp.moveThreadToInbox(thread);
|
moveThreadToSpam(thread)
| Arguments : |
| name | Type | 説明 |
|
thread | GmailThread |
スパムとしてマークされたスレッド
|
| サンプル : |
// tag first thread in inbox as spam
var firstThread = GmailApp.getInboxThreads(0,1)[0];
GmailApp.moveThreadToSpam(firstThread);
|
moveThreadToTrash(thread)
| サンプル : |
// move first thread in inbox to trash
var firstThread = GmailApp.getInboxThreads(0,1)[0];
GmailApp.moveThreadToTrash(firstThread);
|
moveThreadsToArchive(threads)
| サンプル : |
// archive first two threads in your inbox
var firstTwoThreads = GmailApp.getInboxThreads(0,2);
GmailApp.moveThreadsToArchive(firstTwoThreads);
|
moveThreadsToInbox(threads)
| サンプル : |
// find two threads not already in your inbox
var threads = GmailApp.search("-in:inbox", 0, 2)[0]; // get the first ones
GmailApp.moveThreadsToInbox(thread);
|
moveThreadsToSpam(threads)
| サンプル : |
// mark first two threads in your inbox as spam
var firstTwoThreads = GmailApp.getInboxThreads(0,2);
GmailApp.moveThreadsToSpam(firstTwoThreads);
|
moveThreadsToTrash(threads)
| サンプル : |
// move first two threads in your inbox to trash
var firstTwoThreads = GmailApp.getInboxThreads(0,2);
GmailApp.moveThreadsToTrash(firstTwoThreads);
|
refreshMessage(message)
| サンプル : |
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var firstMessage = firstThread.getMessages()[0];
// ...do something that may take a while here....
GmailApp.refreshMessage(firstMessage);
// ...do more stuff with firstMessage...
|
refreshMessages(messages)
| サンプル : |
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var coupleOfMessages = firstThread.getMessages().slice(0, 2);
// ...do something that may take a while here....
GmailApp.refreshMessages(coupleOfMessages);
// ...do more stuff with coupleOfMessages...
|
refreshThread(thread)
| サンプル : |
var firstThread = GmailApp.getInboxThreads(0,1)[0];
// ...do something that may take a while here....
GmailApp.refreshThread(firstThread);
// ... do more stuff with the thread ...
|
refreshThreads(threads)
| サンプル : |
var threads = GmailApp.getInboxThreads(0, 3);
// ...do something that may take a while here....
GmailApp.refreshThreads(threads);
// ... do more stuff with threads ...
|
search(query)
-
指定されたクエリによりGmailを検索する
この呼び出しはシステムが制御するには大きすぎるスレッドサイズの場合はエラーとなる。 スレッドサイズが未知、または前以て非常に大きいと思われる場合は”paged”を呼び出して、呼び出しのなかで回収されるスレッド範囲を特定する。
| Arguments : |
| name | Type | 説明 |
|
query | String |
検索クエリ
|
| サンプル : |
// find starred messages with subject IMPORTANT
var threads = GmailApp.search('is:starred subject:"IMPORTANT"');
|
search(query, start, max)
| Arguments : |
| name | Type | 説明 |
|
query | String |
検索クエリ
|
|
start | int |
最初のスレッドのインデックス
| |
max | int |
返すべきスレッド数の最大値
|
| サンプル : |
// find starred messages with subject IMPORTANT and return second batch of 10
// assumes there are at least 11 of them, otherwise this will return an empty array.
var threads = GmailApp.search('is:starred subject:"IMPORTANT"', 10, 10);
|
method sendEmail(recipients, subject, body, optAdvancedArgs)
-
ユーザーがスクリプトを実行しているとして電子メールを送信する
電子メールはプレーンテキストとhtml本体の両方を含めることができる。ヘッダーを含むメールのすべての合計サイズが20キロバイトを超えることはできない(添付ファイルを除く)
| Arguments : |
| name | Type | 説明 |
|
recipients | String |
カンマ区切りによるメールアドレスのリスト |
|
subject | String |
メール表題 |
|
body | String |
メール本文 |
|
optAdvancedArgs | Object |
未定義 |
| Advanced Arguments* : |
| name | Type | 説明 |
|
bcc | String |
BBC用のカンマ区切りによるメールアドレスのリスト |
|
cc | String |
CC用のカンマ区切りによるメールアドレスのリスト |
|
htmlBody | String |
設定した場合、必要とするbody引数を使用する代わりにHTMLをレンダリングすることができるデバイスが使用する |
|
name | Object |
送信者名:初期値はユーザー名 |
|
noReply | bool |
無応答な電子メールアドレスに対して応答しないようにする |
|
replyTo | String |
送信されたメッセージに対する返信用メールアドレス |
|
attachments | Array |
添付ファイル:各項目はJavaScriptオブジェクトで次のプロパティを持つ:文字列のファイル名、文字列のMIMEタイプ(オプション)、文字列の内容 |
| Googleのサンプル : |
// The code below will email the topleft cell in the active range to another user
var value = SpreadsheetApp.getActiveRange().getValue();
MailApp.sendEmail("mikemike@gmail.com", "value of a cell", "here it is: " + value);
|
| Googleのサンプル : |
var myFiles = [{fileName:"my_document.html", content:"Insert any HTML content here"}]
MailApp.sendEmail("mikemike@gmail.com", "Attachment example", "Here is my document", {attachments: myFiles});
|
| 動作確認用サンプル : |
//メール配信が成功した場合はC列に書き込まれる
var EMAIL_SENT = "送信完了";
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 2; // 処理すべき最初の行データ
var numRows = 3; // 処理すべき行数
// A2:B4のセル範囲を取得
var dataRange = sheet.getRange(startRow, 1, numRows, 3)
// 範囲の各行から値を取得
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[0]; // 1番目の列 メールアドレス
var message = row[1]; // 2番目の列 メッセージ
var emailSent = row[2]; // 3番目の列 送信済コメント
if (emailSent != EMAIL_SENT) { // 重複を防ぐ
var subject = "sendEmailsテスト";
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 3).setValue(EMAIL_SENT);
// スクリプトが中断された場合、直ちにセルの更新を確認
SpreadsheetApp.flush();
}
}
}
送信完了後のシート
|
20101223
| 動作確認用サンプル : |
function sendValue(){
//アクティブにしたセル内の値が送信される
var value = SpreadsheetApp.getActiveRange().getValue();
MailApp.sendEmail("sample@gmail.com", "値の送信", "これが値です: " + value);
}
|
20101223
| 動作確認用サンプル : |
//HTMLファイルを添付する
function Attachment(){
var myFiles = [{fileName:"my_document.html", content:"ここにHTMLにしたい内容を書き込みます"}]
MailApp.sendEmail("sample@gmail.com", "添付ファイルの見本", "添付ファルです", {attachments: myFiles});
|
20101223
| Googleのサンプル : |
function inlineImage() {
var googleLogoBlob = UrlFetchApp.fetch(
"http://www.google.com/intl/en_com/images/srpr/logo3w.png").getBlob().setName("googleLogoBlob");
var youtTubeLogoBlob = UrlFetchApp.fetch(
"http://s.ytimg.com/yt/img/logos/youtube_logo_standard_againstwhite-vflKoO81_.png").getBlob().setName("youtTubeLogoBlob");
MailApp.sendEmail(
"sg.appsscript@gmail.com",
"Logos",
"",
{ htmlBody:
"inline Google Logo images! inline YouTube Logo ",
inlineImages:
{ googleLogo: googleLogoBlob,
youTubeLogo:youtTubeLogoBlob
}
}
);
}
|
starMessage(message)
| サンプル : |
// Stars the first message in the first thread in your inbox
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var message = firstThread.getMessages()[0];
GmailApp.starMessage(message);
|
starMessage(messages)
| サンプル : |
// Stars the first three messages in the first thread in your inbox
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var coupleOfMessages = firstThread.getMessages().slice(0, 3);
GmailApp.starMessages(coupleOfMessages);
|
unstarMessage(message)
| サンプル : |
// Stars the first three messages in the first thread in your inbox
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var coupleOfMessages = firstThread.getMessages().slice(0, 3);
GmailApp.starMessages(coupleOfMessages);
|
unstarMessages(messages)
| サンプル : |
// unstars the first three messages in the first thread in your inbox
var firstThread = GmailApp.getInboxThreads(0,1)[0];
var coupleOfMessages = firstThread.getMessages().slice(0, 3);
GmailApp.unstarMessages(coupleOfMessages);
|
|