0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Google Calendar API(V3)] Javaでカレンダーにテキスト形式(Quick Add)でイベントを追加する

Posted at

Gmail API v1(Java)を使用して、
Googleカレンダーにテキスト形式(Quick Add)でイベントを追加する方法
についてご紹介します。

Quick Addとは

イベントの内容、日時、期間、場所などを簡単な文字列で指定することにより
カレンダーのイベントを生成できる機能です。
日本語版のカレンダーUIでは対応していないようですが、APIは動作するようです。

指定する文字列は日本語でも問題ないようです。
例えば、「新宿御苑で午後2時から午後5時にお花見」という文字列を指定すると。。

というイベントが追加されます。
リクエスト受付先で日本語を英語に翻訳しているんでしょうか。

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

No 目次
1 イベントを追加
1 スコープ
2 実行
3 レスポンスの内容

1. イベントを追加

指定したカレンダーにイベントを追加します。

1.1. スコープ

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

CalendarScopes.CALENDAR
CalendarScopes.CALENDAR_EVENTS

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

1.2. 実行

本日の午後9時から午後11時に「飲みに行く」を追加しています。

public static void main(String[] args) throws Exception{
    Calendar calendar = getCalendar();
    Calendar.Events events = calendar.events();
    
    Calendar.Events.QuickAdd quickAdd = events.quickAdd("カレンダーID","午後9時から午後11時に飲みに行く");
    
    Event res = quickAdd.execute();
    System.out.println(res);
}

1.2.1. HTTPリクエスト

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

1.2.2. クエリパラメータ

Calendar.Events.QuickAddのsetメソッドにより、クエリパラメータを追加できます。

メソッド 引数 説明
setSendUpdates String 新しいイベントの作成に関する通知
"all"(すべてのゲストに送信)、"externalOnly"(Googleカレンダー以外のゲストにのみ送信)、"none"(送信しない)

1.2.3. リクエストボディ

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

1.3. レスポンスの内容

Event

[Google Calendar API(V3)] Javaでカレンダーのイベントを取得する(1.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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?