0
1

[Google Calendar API(V3)] Javaでカレンダーを作成・更新・削除する

Posted at

Google Calendar API V3(Java)を使用して、
Googleカレンダーを作成・更新・削除する方法
についてご紹介します。

Googleカレンダーの左下にあるマイカレンダー、他のカレンダーの情報が設定できます。

APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Google Calendar API(V3)] JavaでCalendar APIを使う
を参照ください。

No 目次
1 カレンダーを作成
1 スコープ
2 実行
3 レスポンスの内容
2 カレンダーを上書き
1 スコープ
2 実行
3 レスポンスの内容
3 カレンダーを更新
1 スコープ
2 実行
3 レスポンスの内容
4 カレンダーを削除
1 スコープ
2 実行
3 レスポンスの内容

1. カレンダーを作成

Googleカレンダーを作成します。
作成したカレンダーは「マイカレンダー」に追加されます。

1.1. スコープ

このAPIを実行するには、以下のスコープを指定してください。

CalendarScopes.CALENDAR

⧉[Google Calendar API(V3)] JavaでCalendar APIを使う(2.2 Driveインスタンスを取得)
でスコープを指定してください。

1.2. 実行

public static void main(String[] args) throws Exception{
    Calendar calendar = getCalendar();
    Calendar.Calendars calendars = calendar.calendars();
    
    com.google.api.services.calendar.model.Calendar content = new com.google.api.services.calendar.model.Calendar();
    content.setSummary("カレンダーのタイトル");
    Calendar.Calendars.Insert insert = calendars.insert(content);
    
    com.google.api.services.calendar.model.Calendar res = insert.execute();
    System.out.println(res);
}

1.2.1. HTTPリクエスト

POST: https://www.googleapis.com/calendar/v3/calendars
が実行されます。

1.2.2. クエリパラメータ

クエリパラメータはありません。

1.2.3. リクエストボディ

Calendar(com.google.api.services.calendar.model)のsetメソッドにより、リクエストボディを追加できます。

メソッド 引数 説明
setSummary String 【必須】カレンダーのタイトル

1.3. レスポンスの内容

Calendar

(com.google.api.services.calendar.model)

メソッド 戻り値 説明
getId String カレンダーID
getEtag String Eタグ
getKind String リソースの種類
固定文字列:"calendar#calendar"
getConferenceProperties ConferenceProperties 会議タイプ
getDescription String 説明
getLocation String カレンダーの地域
getSummary String 名前
getTimeZone String タイムゾーン

ConferenceProperties

メソッド 戻り値 説明
getAllowedConferenceSolutionTypes List<String> サポートされている会議タイプ
"hangoutsMeet"(http://meet.google.com)のみ

"eventHangout"、"eventNamedHangout"はサポートが終了しているので取得のみ(設定不可)

2. カレンダーを上書き

Googleカレンダーの指定したカレンダーを上書きします。

3. カレンダーを更新と違うところは、
指定した存在するカレンダーを新しいカレンダーに置き換えます。

カレンダーIDは、
1. カレンダーを作成(Calendar)のgetId()で取得した値を使います。

2.1. スコープ

このAPIを実行するには、以下のスコープを指定してください。

CalendarScopes.CALENDAR

⧉[Google Calendar API(V3)] JavaでCalendar APIを使う(2.2 Driveインスタンスを取得)
でスコープを指定してください。

2.2. 実行

public static void main(String[] args) throws Exception{
    Calendar calendar = getCalendar();
    Calendar.Calendars calendars = calendar.calendars();
    
    com.google.api.services.calendar.model.Calendar content = new com.google.api.services.calendar.model.Calendar();
    content.setSummary("カレンダーのタイトル");
    Calendar.Calendars.Update update = calendars.update("カレンダーID",content);
    
    com.google.api.services.calendar.model.Calendar res = update.execute();
    System.out.println(res);
}

2.2.1. HTTPリクエスト

PUT: https://www.googleapis.com/calendar/v3/calendars/{カレンダーID}
が実行されます。

2.2.2. クエリパラメータ

クエリパラメータはありません。

2.2.3. リクエストボディ

Calendar(com.google.api.services.calendar.model)のsetメソッドにより、リクエストボディを追加できます。

メソッド 引数 説明
setSummary String 【必須】カレンダーのタイトル
setDescription String カレンダーの説明
setLocation String カレンダーの地域
setTimeZone String タイムゾーン

2.3. レスポンスの内容

Calendar

1.3. レスポンスの内容(Calendar)と同じです。

3. カレンダーを更新

Googleカレンダーの指定したカレンダーを更新します。

2. カレンダーを上書きと違うところは、
指定した存在するカレンダーを更新します。

カレンダーIDは、
1. カレンダーを作成(Calendar)のgetId()で取得した値を使います。

3.1. スコープ

このAPIを実行するには、以下のスコープを指定してください。

CalendarScopes.CALENDAR

⧉[Google Calendar API(V3)] JavaでCalendar APIを使う(2.2 Driveインスタンスを取得)
でスコープを指定してください。

3.2. 実行

public static void main(String[] args) throws Exception{
    Calendar calendar = getCalendar();
    Calendar.Acl acl = calendar.acl();
    
    AclRule content = new AclRule();
    content.setRole("reader");
    Calendar.Acl.Patch patch = acl.patch("カレンダーID","ACLルールID",content);
    
    AclRule res = patch.execute();
    System.out.println(res);
}

3.2.1. HTTPリクエスト

PATCH: https://www.googleapis.com/calendar/v3/calendars/{カレンダーID}
が実行されます。

3.2.2. クエリパラメータ

クエリパラメータはありません。

3.2.3. リクエストボディ

Calendar(com.google.api.services.calendar.model)のsetメソッドにより、リクエストボディを追加できます。

メソッド 引数 説明
setSummary String カレンダーのタイトル
setDescription String カレンダーの説明
setLocation String カレンダーの地域
setTimeZone String タイムゾーン

3.3. レスポンスの内容

Calendar

1.3. レスポンスの内容(Calendar)と同じです。

4. カレンダーを削除

Googleカレンダーの指定したカレンダーを削除します。

カレンダーIDは、
1. カレンダーを作成(Calendar)のgetId()で取得した値を使います。

4.1. スコープ

このAPIを実行するには、以下のスコープを指定してください。

CalendarScopes.CALENDAR

⧉[Google Calendar API(V3)] JavaでCalendar APIを使う(2.2 Driveインスタンスを取得)
でスコープを指定してください。

4.2. 実行

public static void main(String[] args) throws Exception{
    Calendar calendar = getCalendar();
    
    Calendar.Calendars calendars = calendar.calendars();
    Calendar.Calendars.Delete clear = calendars.delete("カレンダーID");
    
    clear.execute();
}

4.2.1. HTTPリクエスト

DELETE: https://www.googleapis.com/calendar/v3/calendars/{カレンダーID}
が実行されます。

4.2.2. クエリパラメータ

クエリパラメータはありません。

4.2.3. リクエストボディ

リクエスボディはありません。

4.3. レスポンスの内容

レスポンスはありません。
削除に失敗した場合、例外が発生します。



おしまい。。
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1