Google Calendar API V3(Java)を使用して、
Googleカレンダーのユーザー設定情報を取得する方法
についてご紹介します。
Googleカレンダーの右上にある歯車マークを押して表示される
メニューの「設定」から設定できる内容を取得できます。
APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Google Calendar API(V3)] JavaでCalendar APIを使う
を参照ください。
No | 目次 | |
---|---|---|
1 | ユーザー設定情報一覧を取得 | |
1 | スコープ | |
2 | 実行 | |
3 | レスポンスの内容 | |
2 | ユーザー設定情報の取得 | |
1 | スコープ | |
2 | 実行 | |
3 | レスポンスの内容 |
1. ユーザー設定情報一覧を取得
Googleカレンダーのユーザーの設定情報一覧を取得します。
1.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
CalendarScopes.CALENDAR
CalendarScopes.CALENDAR_READONLY
CalendarScopes.CALENDAR_SETTINGS_READONLY
⧉[Google Calendar API(V3)] JavaでCalendar APIを使う(2.2 Driveインスタンスを取得)
でスコープを指定してください。
1.2. 実行
public static void main(String[] args) throws Exception{
Calendar calendar = getCalendar();
Calendar.Settings settings = calendar.settings();
Calendar.Settings.List list = settings.list();
Settings res = list.execute();
System.out.println(res);
}
1.2.1. HTTPリクエスト
GET: https://www.googleapis.com/calendar/v3/users/me/settings
が実行されます。
1.2.2. クエリパラメータ
Calendar.Settings.Listのsetメソッドにより、クエリパラメータを追加できます。
メソッド | 引数 | 説明 |
---|---|---|
setMaxResults | Integer | レスポンスで返されるエントリの最大数 デフォルトは100、最大250まで指定可能 |
setPageToken | String | 次のページで前のリスト要求を継続するためのトークン レスポンスのgetNextPageTokenで取得が可能 |
setSyncToken | String | 結果を取得した後に変更された内容を取得するためのトークン レスポンスのgetNextSyncTokenで取得が可能 |
1.3. レスポンスの内容
Settings
メソッド | 戻り値 | 説明 |
---|---|---|
getKind | String | リソースの種類 固定文字列:"calendar#settings" |
etag | String | Eタグ |
items | List<Setting> | カレンダー情報 |
nextPageToken | String | 次のページのページトークン リストの最後の場合はNULL |
nextSyncToken | String | この結果が返された後に変更された内容を取得するためのトークン |
Setting
メソッド | 戻り値 | 説明 |
---|---|---|
id | String | 設定ID |
etag | String | Eタグ |
getKind | String | リソースの種類 固定文字列:"calendar#setting" |
value | String | ユーザーの設定値 設定IDによって変わります |
設定ID
設定ID | 設定メニュー1 | 設定メニュー2 | 内容 | 値 |
---|---|---|---|---|
locale | 言語と地域 | 言語 | ユーザーの言語/地域 | "ja"など |
dateFieldOrder | 言語と地域 | 日付形式 | 日付を表示するときの順序 | "MDY"(12/31/2024) "DMY"(31/12/2024) "YMD"(2024/12/31) |
format24HourTime | 言語と地域 | 時刻の表示形式 | 時刻を24時間形式で表示するか | "true"(13:00) "false"(午後1:00) |
timezone | タイムゾーン | メインのタイムゾーン | ユーザーのタイムゾーンID | "Asia/Tokyo"など |
defaultEventLength | 予定の設定 | デフォルトの長さ | 予定を作成した際のデフォルトの長さ | 正の数(分単位) |
hideInvitations | 予定の設定 | カレンダーに招待状を追加 | 招待したユーザーが、まだ応答(返信など)していない予定を非表示にするか | "true"(招待メールから出欠確認に返答したときに追加) "false"(それ以外) |
hideInvitationsSetting | 予定の設定 | カレンダーに招待状を追加 | 招待したユーザーのカレンダー追加方法 | "NONE"(すべての招待状を追加) "UNKNOWN_SENDERS"(知っているユーザーから届いた場合のみ追加) "UNRESPONDED"(招待メールから出欠確認に返答したときに追加) |
autoAddHangouts | 予定の設定 | 作成した予定に自動的に Google Meet のビデオ会議を追加する | すべての予定にハングアウトを自動的に追加するか | "true"、"false" |
remindOnRespondedEventsOnly | 通知設定 | [参加] または [未定] と返信した予定の通知のみ受ける | [参加] または [未定] と返信した予定の通知のみ受けるか | "true"、"false" |
hideWeekends | ビューの設定 | 週末を表示する | 週末を非表示にするか | "true"、"false" |
showDeclinedEvents | ビューの設定 | 辞退した予定を表示する | 辞退した予定を表示するか | "true"、"false" |
weekStart | ビューの設定 | 週の始まり | 週の始まりを指定 | "0"(日曜日) "1"(月曜日) "6"(土曜日) |
useKeyboardShortcuts | キーボード ショートカット | キーボード ショートカットを有効にする | キーボード ショートカットを有効にするか | "true"、"false" |
2. ユーザー設定情報の取得
指定した設定IDの情報を取得します。
取得したい設定情報は、設定IDを指定します。
2.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
CalendarScopes.CALENDAR
CalendarScopes.CALENDAR_READONLY
CalendarScopes.CALENDAR_SETTINGS_READONLY
⧉[Google Calendar API(V3)] JavaでCalendar APIを使う(2.2 Driveインスタンスを取得)
でスコープを指定してください。
2.2. 実行
public static void main(String[] args) throws Exception{
Calendar calendar = getCalendar();
Calendar.Settings settings = calendar.settings();
Calendar.Settings.Get get = settings.get("設定ID");
Setting res = get.execute();
System.out.println(res);
}
2.2.1. HTTPリクエスト
GET: https://www.googleapis.com/calendar/v3/users/me/settings/{設定ID}
が実行されます。
2.2.2. クエリパラメータ
クエリパラメータはありません。
2.3. レスポンスの内容
Setting
1.3. レスポンスの内容(Setting)と同じです。
おしまい。。