Googleコンタクトにアクセスする (5/5)
作成:2011-08-01 08:45
更新:2011-11-04 17:00
更新:2011-11-04 17:00
■ContactGroup/Contactの作成・削除
最後になりましたが、ContactGroupやContactを作成・削除するためのメソッドについて整理していきましょう。これは、ContactsAppに用意されています。削除については、ContactGroup/Contactにもそれぞれ「自身を削除する」というものがありましたが、ContactsAppにも別に用意されているのです。これらについて整理しておきましょう。
・ContactGroupの作成
・ContactGroupの削除
・Contactの生成
・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と連携すると更に強力になります。スクリプトを使って取得した連絡先からメールアドレスを取得し自動送信する、というようなことが簡単にできるようになるわけです。いろいろと他への応用を考えると面白いことができそうですね!
・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と連携すると更に強力になります。スクリプトを使って取得した連絡先からメールアドレスを取得し自動送信する、というようなことが簡単にできるようになるわけです。いろいろと他への応用を考えると面白いことができそうですね!
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
function makeContact(){ var str1 = Browser.inputBox("名前を入力:"); var str2 = Browser.inputBox("メールアドレスを入力:"); var str3 = Browser.inputBox("電話番号を入力:"); var contact = ContactsApp.createContact(str1, str1, str2); contact.addPhone(ContactsApp.Field.MAIN_PHONE,str3); var group = ContactsApp.getContactGroup("sampledata"); if (group == undefined){ group = ContactsApp.createContactGroup("sampledata"); } group.addContact(contact); }
※関連コンテンツ
「初心者のためのGoogle Apps Scriptプログラミング入門」に戻る