最後になりましたが、
ContactGroupや
Contactを作成・削除するためのメソッドについて整理していきましょう。これは、
ContactsAppに用意されています。削除については、
ContactGroup/
Contactにもそれぞれ「自身を削除する」というものがありましたが、ContactsAppにも別に用意されているのです。これらについて整理しておきましょう。
・ContactGroupの作成変数 = ContactsApp.createContactGroup(名前);
・ContactGroupの削除ContactsApp.deleteContactGroup( ContactGroupオブジェクト );
・Contactの生成変数 = ContactsApp.createContact( 名前, 名字, メールアドレス );
・Contactの削除ContactsApp.deleteContact( Contactオブジェクト );
ContactGroupの作成は、単純に名前を引数に渡すだけですが、
Contactでは姓と名・メールアドレスの3つは必須です。これでオブジェクトを作成した後、メソッドを呼び出して必要なフィールドを追加していく、ということになるでしょう。
では、下のリスト欄に、簡単なサンプルを挙げておきましょう。入力ダイアログを使い、名前・メールアドレス・電話番号を入力すると、新しい連作先を作成し、「sampledata」というグループに登録します。
ここでは、まず入力した値を変数に保管した後、
createContactで
Contactを作成しています。この段階では名前とメールアドレスしか情報がないので、その後、
addPhoneで電話番号を追加します。
ここで、
addPhoneの引数に、
ContactsApp.Field.MAIN_PHONEというものが指定されていることがわかりますね。これは、追加する
PhoneFieldのラベルを指定するものです。ラベルは、テキストで指定することもできますが、
ContactsApp.Fieldオブジェクトにあるプロパティを使って指定することも可能です。
この
Fieldオブジェクトには、各種フィールド用オブジェクトのためのラベルがプロパティとして保管されているのです。ざっと整理すると以下のようになります。ラベルの種類を特定する場合は、テキストよりもこれらのフィールドを利用したほうがよいでしょう。
AIM ANNIVERSARY ASSISTANT_PHONE BIRTHDAY BLOG CALLBACK_PHONE COMPANY FAMILY_NAME FTP FULL_NAME GIVEN_NAME GOOGLE_TALK GOOGLE_VOICE HOME_ADDRESS HOME_EMAIL HOME_FAX HOME_PAGE HOME_PHONE HOME_WEBSITE ICQ INITIALS JABBER JOB_TITLE JOB_TITLE MAIDEN_NAME MAIN_PHONE MIDDLE_NAME MOBILE_PHONE MSN NICKNAME NOTES PAGER PREFIX PROFILE QQ SHORT_NAME SKYPE SUFFIX WORK_ADDRESS WORK_EMAIL WORK_FAX WORK_PHONE WORK_WEBSITE YAHOO――以上、Googleコンタクトのアクセスの基本について説明しました。Googleコンタクトは、Gmailと連携すると更に強力になります。スクリプトを使って取得した連絡先からメールアドレスを取得し自動送信する、というようなことが簡単にできるようになるわけです。いろいろと他への応用を考えると面白いことができそうですね!