Gmail API v1(Java)を使用して、
Googleカレンダーのイベントを別のカレンダーにコピーする方法
についてご紹介します。
APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Google Calendar API(V3)] JavaでCalendar APIを使う
を参照ください。
No | 目次 | |
---|---|---|
1 | イベントをコピー | |
1 | スコープ | |
2 | 実行 | |
3 | レスポンスの内容 |
1. イベントをコピー
指定したカレンダーのイベントを別のカレンダーにコピーします。
コピーしたいイベントのID(iCalUID)と、コピー先のカレンダーIDを指定します。
イベントの開始時間、終了時間の指定も必須です。
1.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
CalendarScopes.CALENDAR
CalendarScopes.CALENDAR_EVENTS
⧉[Google Calendar API(V3)] JavaでCalendar APIを使う(2.2 Driveインスタンスを取得)
でスコープを指定してください。
1.2. 実行
public static void main(String[] args) throws Exception{
Calendar.Events events = calendar.events();
Event content = new Event();
content.setICalUID("iCalUID");
content.setStart(new EventDateTime().setDateTime(new DateTime("2018-06-30T08:30:00.000+09:00")));
content.setEnd(new EventDateTime().setDateTime(new DateTime("2018-06-30T10:00:00.000+09:00")));
Calendar.Events.CalendarImport calendarImport = events.calendarImport("コピー先のカレンダーID",content);
Event res = calendarImport.execute();
System.out.println(res);
}
1.2.1. HTTPリクエスト
POST: https://www.googleapis.com/calendar/v3/calendars/{カレンダーID}/events/import
が実行されます。
1.2.2. クエリパラメータ
Calendar.Events.CalendarImportのsetメソッドにより、クエリパラメータを追加できます。
メソッド | 引数 | 説明 |
---|---|---|
setConferenceDataVersion | Integer | 会議データのバージョン番号 |
setSupportsAttachments | Boolean | イベントの添付ファイルをサポートしているか |
1.2.3. リクエストボディ
Eventのsetメソッドにより、リクエストボディを追加できます。
setICalUID、setStart、setEndの指定は必須です。
※iCalUID:複数のカレンダー間にまたがって一意なイベントID
メソッドの詳細は、
[Google Calendar API(V3)] Javaでカレンダーのイベントを作成・更新・削除する(1.2.3. リクエストボディ)
を参照ください。
1.3. レスポンスの内容
Event
[Google Calendar API(V3)] Javaでカレンダーのイベントを取得する(1.3. レスポンスの内容)
と同じです。
おしまい。。