Googleコンタクトにアクセスする (2/5)
作成:2011-08-01 08:35
更新:2011-11-04 16:56
更新:2011-11-04 16:56
■ContactsAppとContactGroup/Contact
では、実際にGoogleコンタクトにアクセスしてみましょう。Googleコンタクトを利用するということは、Googleコンタクトからグループや連絡先の情報をとり出し操作する、ということになります。まずは、どうやってこれらの情報を取り出すのか?を理解しておかないといけません。
これらは、先に挙げたContactGroupおよびContactというオブジェクトとして扱われます。これらのオブジェクトは、CoontacsAppに用意されているメソッドを使って取得することができます。それらについてざっと整理しておきましょう。
○ContactGroupを得るためのもの
・全ContactGroupを配列で得る
・指定した名前のContactGroupを得る
・指定したIDのContactGroupを得る
○Contactを得るためのもの
・全Contactを配列で得る
・指定したグループのContactを配列で得る
・指定したグループIDのContactを配列で得る
・指定したメールアドレスのContactを得る
・指定したIDのContactを得る
・指定した名前のContactを配列で得る
・指定したメールアドレスのContactを配列で得る
・指定した住所のContactを配列で得る
・指定した電話番号のContactを配列で得る
・指定したURLのContactを配列で得る
・指定したインスタントメッセージのContactを配列で得る
・指定した日付のContactを配列で得る
・指定したノートのContactを配列で得る
・指定した会社のContactを配列で得る
・指定した役職のContactを配列で得る
特にContactの取得には非常に多くのメソッドが用意されています。これらは、特定のデータ項目の内容をもとにContactを取り出すためのものです。いずれも、それぞれの項目の値の他に「〇〇の種類」という引数の用意されたメソッドがありますが、これは「どのフィールドか」を示すためのものです。これはFieldオブジェクトに用意されている値や、フィールド名のテキストなどで指定をします。
では、利用例を下にあげておきましょう。下に2つのサンプルを挙げておきました。getContact関数は、getAllContactsとgetContactGroupsでContactとContactGroupをすべて取り出し、その名前をアクティブシートに書き出します。getContactは、アクティブシートに現れたダイアログでメールアドレスを入力すると、そのアドレスのConcactをとり出し、名前をログに書き出します。
※それぞれ、ContactGroupとContactの名前を取り出すのに、getName、getFullNameといったメソッドを使っていますが、これらのオブジェクト内の情報習得については次に説明します。
これらは、先に挙げた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関数は、getAllContactsとgetContactGroupsでContactとContactGroupをすべて取り出し、その名前をアクティブシートに書き出します。getContactは、アクティブシートに現れたダイアログでメールアドレスを入力すると、そのアドレスのConcactをとり出し、名前をログに書き出します。
※それぞれ、ContactGroupとContactの名前を取り出すのに、getName、getFullNameといったメソッドを使っていますが、これらのオブジェクト内の情報習得については次に説明します。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
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プログラミング入門」に戻る