Googleカレンダーにアクセスする (4/5)
作成:2011-07-18 10:34
更新:2011-11-04 16:46
更新:2011-11-04 16:46
■カレンダーとイベントの作成・削除
データの取得が行えるようになったら、次はデータの作成について考えてみましょう。Googleカレンダーでは、各種のカレンダーにイベントが用意されています。ということは、とりあえず「カレンダーとイベントの作成」ができれば、かなり自由にデータを追加することができますね。
またこれらの削除についても一緒に覚えておけば、不要なものを取り除いたりできます。これらは、Calendar、CalendarEventオブジェクトにそれぞれ用意されています。では、それぞれ作成と削除について整理しましょう。
○カレンダーの作成
○イベントの作成
○終日イベントの作成
※オプションは、以下の項目からなる連想配列
description――説明
location――場所
guests――ゲスト(カンマで区切られたテキスト)
sendInvites――真偽値(招待メールを送るか否か)
○カレンダーの削除
○イベントの削除
この他、繰り返しイベントなどがありますが、これはこの後で説明します。通常のイベントについては、これで作成・削除が行えるようになるでしょう。
では、簡単な利用例を下のリスト欄にあげておきましょう。実行すると、アクティブシートにダイアログが現れ、イベント名を尋ねてきます。入力すると、「MySampleCal」というカレンダーに、現時点から1時間のイベントを作成します。MySampleCalカレンダーは、なければ自動的に作成されます。
ここでは、CalendarApp.getCalendarsByNameで指定の名前のカレンダーを取得しています。これはCalendar配列として返すので、配列のlengthがゼロなら、まだCalendarがないとしてcreateCalendarしています(ある場合は配列の一番最初のCalendarを使っています)。後は、現在の日時と、その1時間後の日時をそれぞれDateオブジェクトで用意し、createEventするだけです。基本的な流れさえわかれば、実に簡単ですね。
またこれらの削除についても一緒に覚えておけば、不要なものを取り除いたりできます。これらは、Calendar、CalendarEventオブジェクトにそれぞれ用意されています。では、それぞれ作成と削除について整理しましょう。
○カレンダーの作成
変数 = CalendarApp.createCalendar( 名前 );
○イベントの作成
変数 = Calendar.createEvent( タイトル, 開始日時, 終了日時 );
変数 = Calendar.createEvent( タイトル, 開始日時, 終了日時, オプション );
○終日イベントの作成
変数 = Calendar.createAllDayEvent( タイトル, 日にち );
変数 = Calendar.createAllDayEvent( タイトル, 日にち, オプション );
※オプションは、以下の項目からなる連想配列
description――説明
location――場所
guests――ゲスト(カンマで区切られたテキスト)
sendInvites――真偽値(招待メールを送るか否か)
○カレンダーの削除
《Calendar》.deleteCalendar();
○イベントの削除
《CalendarEvent》.deleteEvent();
この他、繰り返しイベントなどがありますが、これはこの後で説明します。通常のイベントについては、これで作成・削除が行えるようになるでしょう。
では、簡単な利用例を下のリスト欄にあげておきましょう。実行すると、アクティブシートにダイアログが現れ、イベント名を尋ねてきます。入力すると、「MySampleCal」というカレンダーに、現時点から1時間のイベントを作成します。MySampleCalカレンダーは、なければ自動的に作成されます。
ここでは、CalendarApp.getCalendarsByNameで指定の名前のカレンダーを取得しています。これはCalendar配列として返すので、配列のlengthがゼロなら、まだCalendarがないとしてcreateCalendarしています(ある場合は配列の一番最初のCalendarを使っています)。後は、現在の日時と、その1時間後の日時をそれぞれDateオブジェクトで用意し、createEventするだけです。基本的な流れさえわかれば、実に簡単ですね。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
function createCalEvent(){ var sheet = SpreadsheetApp.getActiveSheet(); var str = Browser.inputBox("イベントのテキスト:"); var calName = "MySampleCal"; var cals = CalendarApp.getCalendarsByName(calName); var cal = null; if (cals.length == 0){ cal = CalendarApp.createCalendar(calName); } else { cal = cals[0]; } var d1 = new Date(); var d2 = new Date(); d2.setHours(d2.getHours() + 1); cal.createEvent(str, d1, d2); }
※関連コンテンツ
「初心者のためのGoogle Apps Scriptプログラミング入門」に戻る