libro
www.tuyano.com
初心者のためのGoogle Apps Scriptプログラミング入門

Googleコンタクトにアクセスする (2/5)

作成:2011-08-01 08:35
更新:2011-11-04 16:56

■ContactsAppとContactGroup/Contact

では、実際にGoogleコンタクトにアクセスしてみましょう。Googleコンタクトを利用するということは、Googleコンタクトからグループや連絡先の情報をとり出し操作する、ということになります。まずは、どうやってこれらの情報を取り出すのか?を理解しておかないといけません。

これらは、先に挙げたContactGroupおよびContactというオブジェクトとして扱われます。これらのオブジェクトは、CoontacsAppに用意されているメソッドを使って取得することができます。それらについてざっと整理しておきましょう。

○ContactGroupを得るためのもの

・全ContactGroupを配列で得る
変数 = ContactsApp.getContactGroups();

・指定した名前のContactGroupを得る
変数 = ContactsApp.getContactGroup( 名前 );

・指定したIDのContactGroupを得る
変数 = ContactsApp.getContactGroupById( ID );

○Contactを得るためのもの

・全Contactを配列で得る
変数 = ContactsApp.getAllContacts();

・指定したグループのContactを配列で得る
変数 = ContactsApp.getContactGroup( グループ );

・指定したグループIDのContactを配列で得る
変数 = ContactsApp.getContactGroupById( グループID );

・指定したメールアドレスのContactを得る
変数 = ContactsApp.getContact( メールアドレス );

・指定したIDのContactを得る
変数 = ContactsApp.getContactById( ID );

・指定した名前のContactを配列で得る
変数 = ContactsApp.getContactsByName( 名前 );
変数 = ContactsApp.getContactsByName( 名前, フィールド );

・指定したメールアドレスのContactを配列で得る
変数 = ContactsApp.getContactsByEmailAddress( メールアドレス );
変数 = ContactsApp.getContactsByEmailAddress( メールアドレス, アドレスの種類 );

・指定した住所のContactを配列で得る
変数 = ContactsApp.getContactsByAddress( 住所 );
変数 = ContactsApp.getContactsByAddress( 住所, 住所の種類 );

・指定した電話番号のContactを配列で得る
変数 = ContactsApp.getContactsByPhone( 電話番号 );
変数 = ContactsApp.getContactsByPhone( 電話番号, 電話番号の種類 );

・指定したURLのContactを配列で得る
変数 = ContactsApp.getContactsByUrl( URL );
変数 = ContactsApp.getContactsByUrl( URL, URLの種類 );

・指定したインスタントメッセージのContactを配列で得る
変数 = ContactsApp.getContactsByIM( IM );
変数 = ContactsApp.getContactsByIM( IM, IMの種類 );

・指定した日付のContactを配列で得る
変数 = ContactsApp.getContactsByDate( 月, 日, 日付の種類 );
変数 = ContactsApp.getContactsByDate( 月, 日, 年, 日付の種類 );

・指定したノートのContactを配列で得る
変数 = ContactsApp.getContactsByNotes( ノート );

・指定した会社のContactを配列で得る
変数 = ContactsApp.getContactsByCompany( 会社 );

・指定した役職のContactを配列で得る
変数 = ContactsApp.getContactsByJobTitle( 役職 );

特にContactの取得には非常に多くのメソッドが用意されています。これらは、特定のデータ項目の内容をもとにContactを取り出すためのものです。いずれも、それぞれの項目の値の他に「〇〇の種類」という引数の用意されたメソッドがありますが、これは「どのフィールドか」を示すためのものです。これはFieldオブジェクトに用意されている値や、フィールド名のテキストなどで指定をします。

では、利用例を下にあげておきましょう。下に2つのサンプルを挙げておきました。getContact関数は、getAllContactsgetContactGroupsContactContactGroupをすべて取り出し、その名前をアクティブシートに書き出します。getContactは、アクティブシートに現れたダイアログでメールアドレスを入力すると、そのアドレスのConcactをとり出し、名前をログに書き出します。


※それぞれ、ContactGroupとContactの名前を取り出すのに、getName、getFullNameといったメソッドを使っていますが、これらのオブジェクト内の情報習得については次に説明します。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※全Group名と全Contact名をアクティブシートに書き出す
function getContacts(){
  var sheet = SpreadsheetApp.getActiveSheet();
  var contacts = ContactsApp.getAllContacts();
  var groups = ContactsApp.getContactGroups();
  for(var i = 0;i < groups.length;i++){
    sheet.getRange(i + 1, 1).setValue(groups[i].getName());
  }
  for(var i = 0;i < contacts.length;i++){
    sheet.getRange(i + 1, 3).setValue(contacts[i].getFullName());
  }
}

※入力したアドレスのContactの名前をログに書き出す
function getContact(){
  var str = Browser.inputBox("メールアドレスを入力:");
  var contact = ContactsApp.getContact(str);
  if (contact != undefined){
    Logger.log(contact.getFullName());
  }
}

※関連コンテンツ

「初心者のためのGoogle Apps Scriptプログラミング入門」に戻る