Squadbase logo

Google Calendar

Google CalendarをSquadbaseに接続するための手順と必要情報の取得方法

必要情報

項目説明
Google Cloud Service Account JSONGoogleのサービスにアクセスするための「認証キーファイル」です。Google Cloud上で発行されるJSONファイルで、どのアプリケーションがAPIを利用しているかをGoogleが識別するために使われます。

取得方法

Google Cloud Service Account JSON

連携用のGoogle Service Accountを発行します。

Google Service Accountとは、人間ではなくプログラムやアプリケーションなどの「システム」がGoogleのサービスを利用するための専用アカウントです。

Service Accounts を開く

Google Cloud Console にログインし、任意のプロジェクトでメニューから「IAM & Admin」→「Service Accounts」を選択してください。

Google Cloud コンソールのメニューから Service Accounts を開く

サービスアカウントを作成する

Service Accounts の画面上部にある「+ Create service account」をクリックします。

Service Accounts 画面の Create service account ボタン

サービスアカウント作成に必要な情報を入力します。

  • Service account name:このサービスアカウントが何用なのか分かるように、任意の名前をつけてください。
  • Service account ID:サービスアカウント名に応じて自動で入力されます。
  • Service account description:任意でこのサービスアカウントの説明を追記することができます。

「Create and continue」をクリックするとサービスアカウントが作成されます。

サービスアカウントの作成フォーム

Permissions と Principals with access については、特に設定をする必要はありません。Google Calendar 側でカレンダーの共有設定を行います。

キーを発行する

サービスアカウントの一覧から、作成したサービスアカウントのメールアドレスをクリックします。

タブから「Keys」を選択し、「Add key」→「JSON」を選択し、「作成」ボタンをクリックします。

Add key から JSON キーを作成するダイアログ

すると、ご自身のPC上にJSONファイルがダウンロードされます。このJSONファイルをアップロードしてください。

APIを有効化する

サービスアカウントが Google Calendar のデータにアクセスできるようにするために、Google Cloud プロジェクト側で「Google Calendar API」を有効化する必要があります。

Google Cloudの左のサイドバーから「APIとサービス」→「ライブラリ」を選択し、検索窓に「Google Calendar」と入力して検索します。検索結果から「Google Calendar API」を見つけ、「有効にする」を押してください。


サービスアカウントへのアクセス権の付与

以下のいずれかの方法で、サービスアカウントに Google Calendar へのアクセス権を付与してください。

方法1:Googleカレンダーにサービスアカウントを招待する

個人の Gmail アカウントおよび Google Workspace の両方で利用できる方法です。対象のカレンダーにサービスアカウントを直接招待します。

Google カレンダー の左サイドバーで、接続したいカレンダーの横にある 三点メニュー(⋯) をクリックして 「設定と共有」 を選択します。「特定のユーザーまたはグループと共有する」 セクションの 「+ ユーザーやグループを追加」 をクリックし、サービスアカウントのメールアドレスを入力して、権限を 「すべての予定の詳細を表示する」 に設定してください。

サービスアカウントが「すべての予定の詳細を表示する」権限で追加された Google カレンダーの共有設定画面

「Make changes to events」以上の権限はデータが編集される可能性があるため、基本的には「See all event details」権限で共有することをお勧めします。

個人の Gmail アカウントをご利用の場合:追加の設定は不要です。サービスアカウントをそのまま招待できます。

Google Workspace をご利用の場合:事前に Google Workspace の管理者がカレンダーの外部共有設定を変更する必要があります。Google Workspace 管理コンソール「アプリ」→「Google Workspace」→「カレンダー」→「共有設定」 を開き、外部共有の設定を 「すべての情報が共有されます(外部ユーザーはカレンダーを変更できません)」 に変更してください。この設定がないと、外部ユーザーとして扱われるサービスアカウントとの共有ができません。

方法2:ドメイン全体の委任(Google Workspace)

Google Workspace を利用していて、ドメイン内のすべてのユーザーのカレンダーへのアクセスを一括で付与したい場合は、ドメイン全体の委任を使用できます。

ドメイン全体の委任には Google Workspace の管理者権限が必要です。個人の Gmail アカウントでは利用できません。

サービスアカウントのクライアント ID を取得する

Google Cloud Console「IAM & Admin」→「Service Accounts」 を開き、作成したサービスアカウントをクリックします。詳細ページに表示されている OAuth 2.0 クライアント ID(数字のみのID)をコピーしてください。

Google Workspace 管理コンソールでドメイン全体の委任を開く

管理者アカウントで Google Workspace 管理コンソール にログインし、「セキュリティ」→「アクセスとデータ管理」→「API の制御」 を開き、「ドメイン全体の委任を管理する」 をクリックします。

サービスアカウントを追加する

「新しく追加」 をクリックし、以下を入力します。

  • クライアント ID:手順1でコピーしたクライアント ID を貼り付ける
  • OAuth スコープhttps://www.googleapis.com/auth/calendar.readonly

「承認」 をクリックします。