自社の OAuth アプリで Google Workspace に接続する
自社の Google Cloud プロジェクトにアプリを登録し、Offision が届く範囲を選んで資格情報を 渡します。第三者のアプリを認められないセキュリティポリシー向けです。
ほとんどの組織は クイック接続 を使うべき です。Offision 自身の Google アプリケーションを使うため、資格情報は一切必要ありません。
この方法は、それが認められない場合——セキュリティポリシー上、アプリケーションを自社の Google Cloud プロジェクトに置き、シークレットを自分で管理・失効できる必要がある場合—— または既定より狭いモードを使いたい場合に選びます。
用意するもの
- Google Cloud プロジェクト(または作成できる権限)
- Google Workspace の お客様 ID(Google 管理コンソールの アカウント → アカウント設定)
- リダイレクト URI を OAuth クライアントに貼り戻せる環境
- 30 分ほど
1. Google Cloud プロジェクトを準備する
先にこちら側を済ませてください。Offision はこの内容を検証できないため、後から行うと 何度も行き来することになります。
- Google Cloud コンソールでプロジェクトを作成します。名前は自社の管理用で、Offision は 使用しません。
- API とサービス で Google Calendar API を有効にします。
- OAuth 同意画面 を作成します。種類は 外部 で、スコープに
userinfo.email、userinfo.profile、openid、Calendar を追加します。 - 認証情報 で、種類が ウェブ アプリケーション の OAuth クライアント ID を 作成します。クライアント ID と クライアント シークレット をコピーします。 シークレットはこの時点でコピーしておくのが確実です。
Offision が Google に要求するスコープは次のとおりです。
| スコープ | Offision での用途 |
|---|---|
https://www.googleapis.com/auth/calendar.readonly | 会議室とユーザーのカレンダーの参照 |
https://www.googleapis.com/auth/calendar.events | 予約の作成と変更 |
openid、profile、email | サインイン |
2. リダイレクト URI を追加する
OAuth クライアントの 承認済みのリダイレクト URI に、自社の構成に必要なものを追加
します。{server} は Offision のアドレスです。
| リダイレクト URI | 用途 |
|---|---|
{server}/api/google-api/oauth/callback | 委任アカウントと予約エージェントアカウント |
{server}/signin-google/{tenantId}/{scheme} | シングルサインオン |
{server}/api/google-api/oauth/meet-callback | Google Meet のリンク |
Offision がコピーすべき値をそのまま表示するので、自分で組み立てる必要はありません。 リダイレクト URI の不足は後になって表面化し、しかもパスワードが拒否されたように見える ため、独立した手順にしています。
3. モードを選ぶ
Google Workspace のタイルを開き、Google Workspace に接続 を選び、区切り線の下の カスタム設定 を選びます。
システム連携を開く最初の手順はモードの選択です。ボタンの下の 機能 に選択中のモードでできることが表示 され、必要な権限 にそのモードが要求するスコープが並びます——詳細を表示 を押すと 展開されます。
| モード | 会議室のカレンダー | ユーザーのカレンダー | シングルサインオン |
|---|---|---|---|
| 完全モード | はい | はい | はい |
| 標準モード | はい | はい | はい |
| リソース カレンダー モード | はい | いいえ | いいえ |

モードの選択画面。機能の一覧と、そのモードが要求する権限が表示されます。
リソース カレンダー モード は個人のカレンダーに一切触れません。このモードでは シングルサインオンは無効なのではなく、そもそも利用できません。社員のカレンダーへの アクセスがセキュリティ審査を通らない場合に選び、その後サインインの設定項目が表示され ないことを前提にしてください。
4. 資格情報を入力する
次へ を押し、3 つの項目を入力します。
| 項目 | 取得元 |
|---|---|
| Google お客様 ID | Google 管理コンソール → アカウント → アカウント設定 |
| Google クライアント ID | 手順 1 で作成した OAuth クライアント |
| Google クライアント シークレット | そのクライアントの シークレット(ID ではありません) |

資格情報の入力画面。お客様 ID、クライアント ID、クライアント シークレット。
5. 双方向で動作を確認する
委任アカウントと会議室を 1 つ接続し—— Google Workspace の会議室を接続する を参照——両方向で確認します。
- Offision で会議室を予約し、Google カレンダーに表示されることを確認する
- 同じ会議室を Google カレンダーで予約し、Offision に表示されることを確認する
そのうえで サインイン と Google Meet のリンク を設定してください。
うまくいかないとき
| 症状 | よくある原因 |
|---|---|
| 接続 はできたが、その後 Google のウィンドウで拒否される | クライアント ID かシークレットが誤っています。接続時には検証されません |
| リダイレクト URI が一致しないと Google に表示される | OAuth クライアントに未登録か、末尾のスラッシュが異なります |
| アクセスがブロックされる、未確認のアプリと表示される | OAuth 同意画面が未完成か、スコープが追加されていません |
| Google のウィンドウが開かない | ブラウザーがポップアップをブロックしています |
| サインインがログインページに戻ってしまう | サインイン用のリダイレクト URI が OAuth クライアントにありません |
| 接続後にサインインの設定項目がない | リソース カレンダー モードを選択したためです。このモードにサインイン権限はありません |
| しばらくして動かなくなった | OAuth クライアントのシークレットが更新されたか、同意画面がリセットされました |
| ユーザーがまったく同期されない | 正常です。Google のユーザー同期は利用できません。通常の方法で追加してください |

