【Google APIs】カレンダーを取得できないケース(カレンダーの共有設定)

Pocket

前回の記事で自身の非公開カレンダーをJavaで取得する方法を書いたのですが、意図しないカレンダーを取得してしまう現象に陥っていました。というか取得できていたようで取得できていなかったのかも・・・。

結論から書くと、「カレンダー自体の共有権限」及び、独自ドメイン(Google Apps)と紐づけしたgoogleアカウントを利用しているので「ドメインユーザへの共有権限」が付与されていないのが原因でした。

この記事ではカレンダーの共有設定について書きたいと思います。
Google Appsの共有設定については【Google Apps】カレンダーの共有権限が「予定の時間枠のみ表示」の対処法を参照ください。

スポンサードリンク


Googleカレンダー自体に共有権限が付与されていない

カレンダー自身に共有設定があるのはご存知かと思います。
てっきり「自分のカレンダーなのだから共有設定は不要」だと考えていたのですが、Google Cloud Console」もしくは「Google APIs Console」で作成したAPIアクセス用アカウントに対して共有権限を与える必要があるみたいです。

Google APIs Consoleの画面を例にすると以下のアカウント名(Email address)に対して共有を許可します。
API Access
  • Web Applicationアカウント(ユーザ認証画面あり)の場合は「Client ID for web applications」
  • Service accountアカウント(ユーザ認証画面なし、バックグランドアプリ等)の場合は「Service account」


以下の手順でカレンダーの共有を許可します。

  • 「カレンダー設定」画面を開く
  • 「このカレンダーを共有」タブリンクを押下
  • 「特定のユーザーと共有」で上記のEmail addressを入力(権限は用途に応じて)
    googleカレンダー

もし「予定の時間枠のみを表示(詳細を非表示)」の権限しか選択できない場合、独自ドメインをGoogleアカウントとして利用しているとこうなるみたいです。

その場合の対処法は、冒頭にも書きましたが【Google Apps】カレンダーの共有権限が「予定の時間枠のみ表示」の対処法を参照ください。


お役に立てましたか?

ブックマークをどうぞ!

スポンサード リンク

“【Google APIs】カレンダーを取得できないケース(カレンダーの共有設定)” への 2 件のフィードバック

コメントを残す