ラベル Gmailの操作 の投稿を表示しています。 すべての投稿を表示
ラベル Gmailの操作 の投稿を表示しています。 すべての投稿を表示

2012年8月6日月曜日

連絡先をグループから削除する

連絡先をグループから削除する場合は、Contact クラスの removeFromGroup メソッド
を使用する。
  
  
【構文】
ContactObject.removeFromGroup(group)
  
group : ContactGroup 型。削除したい ContactGroup オブジェクトを指定する。
戻り値 : Contact 型。削除対象の連絡先を返す。
  
  
連絡先をグループに登録する』の項で登録した連絡先とグループを使ったサンプルコード
を以下に記す。同様に、連絡先もグループも存在することを前提としたコードとする :
  
  
【例】
function RemoveContactFromGroup() {
  var objContact = ContactsApp.getContact("ii.naosuke@gmail.com");
  var objContactGroup = ContactsApp.getContactGroup("江戸時代");
  objContact.removeFromGroup(objContactGroup);
  Browser.msgBox("連絡先がグループから削除されました");
}

連絡先をグループに登録する

連絡先をグループに登録する場合は、Contact クラスの addToGroup メソッドを使用
する。
  
  
【構文】
ContactObject.addToGroup(group)
  
group : ContactGroup 型。登録したい ContactGroup オブジェクトを指定する。
戻り値 : Contact 型。登録対象の連絡先を返す。
  
  
新規連絡先を追加する』、及び、『新規に連絡先グループを作成する』の項で作成
した連絡先とグループを使ったサンプルコードを以下に記す。厳密には、連絡先も
グループも存在チェックを行うべきだが、簡単の為いずれも存在することを前提とした
コードとする :
  
  
【例】
function AddContactToGroup() {
  var objContact = ContactsApp.getContact("ii.naosuke@gmail.com");
  var objContactGroup = ContactsApp.getContactGroup("江戸時代");
  objContact.addToGroup(objContactGroup);
  Browser.msgBox("連絡先がグループに追加されました");
}

既存の連絡先グループを削除する

既に登録されている連絡先グループを削除する場合には、ContactGroup クラスの
deleteGroup メソッドを使用する。
  
  

【構文】
ContactGroupObject.deleteGroup()
  
  

『新規ラベルを作成する』の項で登録した連絡先グループ「江戸時代」を削除するサンプル
コードを以下に記す。
  
  

【例】
function DeleteContactGroup() {
  var objContactGroup = ContactsApp.getContactGroup("江戸時代");
  if (objContactGroup == null) {
    Browser.msgBox("該当するグループがありません"); 
  }
  else {

    objContactGroup.deleteGroup(); 
    Browser.msgBox(" グループ が削除されました"); 
  }
}

既存の連絡先グループを取得する

既に登録されている連絡先グループを取得する場合には、ContactsApp クラスの
getContactGroup メソッドを使用する。
  
  
【構文】
ContactsApp.getContactGroup(name)
  
name : string 型。取得したいグループ名を指定する。
戻り値 : ContactGroup 型。引数で指定された ContactGroup オブジェクトが返される。
            存在しない場合は null が返される。
  
  
『新規ラベルを作成する』の項で登録した連絡先グループ「江戸時代」を取得するサンプル
コードを以下に記す。
  
  
【例】
function GetContactGroup() {
  var objContactGroup = ContactsApp.getContactGroup("江戸時代");
  if (objContactGroup == null) {
    Browser.msgBox("該当するグループがありません"); 
  }
  else {
    Browser.msgBox("グループが存在します"); 
  }
}
  
  
実行の結果、「グループが存在します」とメッセージボックスに表示される。

新規に連絡先グループを作成する

連絡先を分類する際に使用する「グループ」を新たに規に作成する場合は、ContactsApp
クラスの createContactGroup メソッドを使用する。
  
  
【構文】
ContactsApp.createContactGroup()
  
戻り値 : ContactGroup 型。新規に登録された ContactGroup オブジェクトが返される。
  
  
【例】
function CreateContactGroup() {
  ContactsApp.createContactGroup("江戸時代");
}


既存の連絡先を削除する

既に登録済みの連絡先を削除する場合は、ContactsApp クラスの deleteContact メソッド
を使用する。
  
  
【構文】
ContactsApp.deleteContact()
  
戻り値 : Contact 型。削除された連絡先が返される?何のため?
  
  
新規連絡先を追加する』の項で登録した連絡先を削除するサンプルコードを以下に記す。
  
  
【例】
function DeleteContact() {
  var objContact = ContactsApp.getContact("ii.naosuke@gmail.com");
  if (objContact == null) {
    Browser.msgBox("該当する連絡先がありません"); 
  }
  else {
    objContact.deleteContact();
    Browser.msgBox("連絡先が削除されました"); 
  }
}

新規連絡先を追加する

新規連絡先を追加する場合は、ContactsApp クラスの createContact メソッドを使用する。
  
  
【構文】
ContactsApp.createContact(givenName, familyName, emailAddress)
  
givenName : string 型。名を指定する。
familyNamestring 型。姓を指定する。
emailAddressstring 型。e-mail アドレスを指定する。
戻り値 : Contact 型。新たに登録された連絡先オブジェクトを返す。
  
  
【例】
function CreateContact() {
  ContactsApp.createContact("直弼", "井伊", "ii.naosuke@gmail.com");
}

e-mailアドレスをキーに連絡先を取得する

連絡先を e-mail アドレスをキーにして検索・取得する為には、ContactsApp クラスの
getContact メソッドを用いる。
  
  
【構文】
ContactsApp.getContact(email)
  
email : String 型。検索対象となる連絡先の e-mail アドレスを指定する。
戻り値 : Contact 型。引数で指定した e-mail アドレスをもつ連絡先を返す。該当する
           連絡先が存在しない場合は null を返す。
  
  
「連絡先の全ての e-mail アドレスを取得する」の項同様、下図の連絡先が登録され
ているものとし、アドレス
  
oraora@yahoo.co.jp
  
に合致するアドレスをもつ連絡先を取得する例を以下に記す :
  
  
  
  
【例】
function GetContact() {
  var objContact = ContactsApp.getContact("oraora@yahoo.co.jp");
  if (objContact == null) {
    Browser.msgBox("該当する連絡先がありません"); 
  }
  else {
    Browser.msgBox(objContact.getFullName());
  }
}
  
上記コードを実行するとメッセージボックスに
  
雨古太一
  
と表示される。ちなみに、登録されていないアドレス、例えば、
  
butabuta@yahoo.co.jp
  
で検索すると、(そんなアドレスをもつ連絡先は存在しないため)
  
該当する連絡先がありません
  
というメッセージが表示される。

連絡先の全てのe-mailアドレスを取得する

今回は連絡先の e-mail アドレスの取得の仕方について記す。Gmail の連絡先の e-mail
アドレスは、ひとつの連絡先に対して複数を登録することが可能なので、少々手間がかか
るが、手順としては以下の通りである :
 
手順1. 連絡先の e-mail アドレス、厳密には EmailField オブジェクト、の配列を取得する。
手順2. 配列の各要素の EmailField オブジェクトのアドレスを取得する。
  
  
【構文1】
ContactObject.getEmails()
  
戻り値 : EmailField 型 (配列)。EmailField オブジェクトの配列を返す。
  
  
【構文2】
EmailFieldObject.getAddress()
  
戻り値 : String 型。e-mail アドレスを返す。
  
  
今、下図の通り二つの連絡先が登録されているとして、一方は複数のアドレスが登録され
ており、しかもアドレスの一つには「副業用」というラベルになっている :
  
  
  
  
各連絡先には、各々の e-mail に「自宅」、「仕事」、あるいは、カスタムの (何の為に使用
するアドレスなのかを示す) ラベルを付与することができる。このラベルを取得する為には
EmailField クラスの getLabel メソッドを使用する。
  
  
【構文3】
EmailFieldObject. getLabel()
  
戻り値 : String 型。e-mail アドレスのラベルを返す。返される文字列は「自宅」は HOME
           「仕事」は WORK、カスタムは入力した文字列がそのまま返される。
  
  
以下に、上図の連絡先の e-mail を全て取得し、ログに書き出すサンプルコードを記す :
  
  
【例】
function GetAllEmailAddress() {
  var objContacts = ContactsApp.getContacts();
  var intMaxIndex = objContacts.length;
  for (var intIndex = 0; intIndex < intMaxIndex; intIndex++) {
    var objEmails = objContacts[intIndex].getEmails();
    for (var intIndex2 = 0; intIndex2 < objEmails.length; intIndex2++) {
      Logger.log(objContacts[intIndex].getFullName() + " " + 
                 objEmails[intIndex2].getLabel() + ":" +
                 objEmails[intIndex2].getAddress());
    }
  }
}
  
実行した結果のログは下図の通りとなる :
  

連絡先の名前を取得する

連絡先の名前には、姓、名、氏名(フルネーム)、ミドルネーム等が ある。
但し、日本に限って言えば、姓、名、氏名があれば十分と思われるので、 
以下にそれぞれの取得方法を記す。
  
  
【構文1 -氏名の取得-】
ContactObject.getFullName()
  
戻り値 : String型。連絡先の氏名を返す。

  

【構文2 -姓の取得-】
ContactObject.getFamilyName()
  
戻り値 : String型。連絡先の姓を返す。

  

【構文3 -名の取得-】
ContactObject.getGivenName()
  
戻り値 : String型。連絡先の名を返す。
  
  

以下に登録されている全ての連絡先の氏名、姓、名をログに表示する
サンプルコードを記す。
  
  
【例】
function GetAllContactsName() {
  var objContacts = ContactsApp.getContacts();
  var intMaxIndex = objContacts.length;
  for (var intIndex = 0; intIndex < intMaxIndex; intIndex++) {
    Logger.log(objContacts[intIndex].getFullName());
    Logger.log(objContacts[intIndex].getFamilyName());
    Logger.log(objContacts[intIndex].getGivenName()); 
  } 
}

全ての連絡先を取得する

全ての連絡先 (オブジェクト) を取得するには、ContactApp クラスの getContacts 
メソッドを用いる。
  
  
【構文】
ContactApp.getContacts()
  
戻り値 : Contanct型 (配列)。

登録されている全ての Contact オブジェクトの配列を返す。
  
  
【例】
function GetAllContacts() {
  var objContacts = ContactsApp.getContacts();
  var ingCount =  objContacts.length
  Browser.msgBox("連絡先は" + intCount + "件登録されています");
}
  
上記コードを実行すると、メッセージボックスに、登録されている連絡先の件数
 が表示される。

2012年8月5日日曜日

スレッドからラベルを削除する(はすず)

「スレッドにラベルを付加する」の項の場合と反対で、スレッドから既に付加されているラベル
削除する (はすず) には、GmailThread クラスの removeLabel メソッドを使用する。
このとき、removeLabel メソッドを実行した場合、ラベルそのものが削除される訳ではなく、
あくまでもスレッドからラベルをはすずだけである。
  
  
【構文】
GmailThreadObject.removeLabel(label)
  
label : GmailLabel 型。スレッドから外したい GmailLabel オブジェクトを指定する。
戻り値 : 対象の GmailThread オブジェクトを返す。

  
  
下図の受信トレイの最初のスレッドから「プライベート」ラベルを外すサンプルコードを以下
に記す :
  
  
  
【例】
function DeleteLabel() {
  var objThreads = GmailApp.getInboxThreads();
  var objLabel = GmailApp.getUserLabelByName("

プライベート");
  objThreads[0].removeLabel(

objLabel);
}
  
上記コードを実行すると「Gmail スレッドにラベルを付加する」で示したコードを処理する前
の状態に戻る。

スレッドにラベルを付加する

スレッドにラベルを付加するためには、GmailThread クラスの addLabel メソッドを用いる。
  
  
【構文】
GmailThreadObject.addLabel(label)
  
label : GmailLabel 型。スレッドに付加したい GmailLabel オブジェクトを指定する。
戻り値 : 対象の GmailThread オブジェクトを返す。
  
  
下図の受信トレイの最初のスレッドに対して、既に存在する「プライベート」というラベルを
付与する。サンプルコードは下記の通り :
  
  
  
【例】
function AddLabel() {
  var objThreads = GmailApp.getInboxThreads();
  var objLabel = GmailApp.getUserLabelByName("


プライベート");
  objThreads[0].addLabel(


objLabel);
}
  
実行の結果、下図の通り「プライベート」ラベルが付与される :
  

スレッドをアーカイブ(に移動)する

スレッドをアーカイブするには、GmailThread クラスの moveToArchive メソッドを使用する。
  
  
【構文】
GmailThreadObject.moveToArchive()
  
戻り値:GmailThread型。対象のスレッドを返す。
  
  
以下の例では、受信トレイの一番最初のスレッドをアーカイブに移動する。
  
  
【例】
function MoveToArchive() {
  var objThreads = GmailApp.getInboxThreads();
  objThreads[0].moveToArchive();
}
  
  
処理実行後に受信トレイを見ても何も変化はないが、受信トレイを更新すると対象のスレッド
はアーカイブに移動していることが確認できる。

メッセージの送信元アドレスを取得する

メッセージの本文を取得する場合には、GmailMessage クラスの getFrom メソッドを
用いる。
  
  
【構文】
GetMessageObject.getFrom()
  
戻り値 : string 型。送信元アドレスを返す。
  
  
『スレッド内の全メッセージ(オブジェクト)を取得する』の項のサンプルコードで使用した
下図のスレッドについて、各メッセージの送信元アドレスをログに表示するコードを以下
に記す :
 
  
 
 
 
 
 
 
 
 
  
  
【例】
function GetFrom() {
  var objThread = GmailApp.getThreadById("abcdeFghIJKlmnoPQr");
  var objMessages = objThread.getMessages();
  var intMaxIndex = objMessages.length;
  for (var intIndex = 0; intIndex < intMaxIndex; intIndex++) {
    Logger.log(objMessages[intIndex].getFrom());
  }
}
  
  
上記コードの実行すると、ログに
  
hogehoge@gmail.com
  
が三つ表示され。但し、送信元が
  
ホゲ <hogehoge@gmail.com>
  
のようなアドレスで送信してきた場合は、そのままの状態で表示されるので要注意。

メッセージの本文を取得する

メッセージの本文を取得する場合には、GmailMessage クラスの getBody メソッドを
用いる。
  
  
【構文】
GmailMessageObject.getBody()
  
戻り値 : string 型。メッセージの本文の文字列を返す。
  
  
『スレッド内の全メッセージ(オブジェクト)を取得する』の項のサンプルコードで使用した
下図のスレッドについて、各メッセージの本文をログに表示するコードを以下に記す :
   









  
  
【例】
function GetSubject() {
  var objThread = GmailApp.getThreadById("abcdeFghIJKlmnoPQr");
  var objMessages = objThread.getMessages();
  var intMaxIndex = objMessages.length;
  for (var intIndex = 0; intIndex < intMaxIndex; intIndex++) {
    Logger.log(objMessages[intIndex].getBody());
  }
}
  
  
実行結果は下記の通り。どういう訳か HTML タグがもれなくついてくる :
  
















スレッドの最初のメッセージの表題を取得する

スレッド内のメッセージのうち、一番初めのものの表題を取得するには、GmailThread クラス
の getFirstMessageSubject メソッドを用いる。
  
  
【構文】
GmailThreadObject.getFirstMessageSubject()
  
戻り値 : String 型。スレッドの一番最初のメッセージの表題を返す。
  
  
「Gmailのスレッドのメッセージ数を取得する」の項同様、下図の受信トレイの最初のスレッド
の、一番表題を取得するサンプルコードを記す。
  
  
スレッドは下図の通り、五つのメッセージからなるものとし、最初の表題は
  
こんにちは
  
とする :
  
  
  
【例】
function GetFirstMessageSubject() {
  var objThreads = GmailApp.getInboxThreads();
  Browser.msgBox(objThreads[0].getFirstMessageSubject());
}
  
実行の結果、メッセージボックスには「こんにちは」と表示される。

スレッド内の全メッセージ(オブジェクト)を取得する

スレッド内の全てのメッセージ(オブジェクト)を取得する場合には、GmailThread クラスの
getMessages メソッドを用いる。
  
  
【構文】
GmailThreadObject.getMessages()
  
戻り値 : GmailMessage 型(配列)。スレッド内のメッセージオブジェクトの配列を返す。
  
  
下図のように、三つのメッセージを含むスレッドがあった場合、このメッセージ全てを
取得するサンプルコードを以下に記す。ここで、スレッドの ID は
  
abcdeFghIJKlmnoPQr
  
とする :
  
  
  
【例】
function myFunction() {
  var objThread = GmailApp.getThreadById("abcdeFghIJKlmnoPQr");
  var objMessages = objThread.getMessages();
  var intMaxIndex = objMessages.length;
  Browser.msgBox("このスレッドには" + intMaxIndex + " 件のメッセージがあります");
}
  
  
上記コードの実行結果は下図の通り :
  










スレッドのメッセージ数を取得する

スレッドにメッセージが幾つ含まれているか知りたい場合は、GmailThread クラスの
getMessageCount メソッドを用いる。
  
  
【構文】
GmailThreadObject.getMessageCount()
  
戻り値 : int 型。スレッド内のメッセージ数を返す。
  
  
以下のコードは、下図の受信トレイの最初のスレッドのメッセージ数を取得するサンプルコード
ある。スレッドのインデックス番号はゼロから始まるので、インデックスに「0」を指定している。
  
  
  
【例】
function CountMessage() {
  var objThreads = GmailApp.getInboxThreads();
  Browser.msgBox(objThreads[0].getMessageCount()
);
} 
  
図の通り、最初のスレッドは五つのメッセージを含むので、メッセージボックスには「5」と表示
される。

スレッドをゴミ箱に移動する

スレッドを削除する場合は、GmailApp クラスの moveToTrash メソッドを使用する。
  
  
【構文】
GmailThreadObject.moveToTrash()
  
戻り値 : GmailThread 型。対象のスレッドオブジェクトを返す。
  
  
スレッド(オブジェクト)を ID で取得する』の項で例として用いた ID

abcdeFghIJKlmnoPQr
  
のスレッドをゴミ箱に移動するサンプルコードを以下に記す :
  
  
【例】
function MoveThreadToTrash() {
  var objThread = GmailApp.getThreadById("abcdeFghIJKlmnoPQr");
  objThread.moveToTrash();
}