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プログラミング入門」に戻る