カスタムOAuth アプリケーションの作成
カスタムOAuth アプリケーションの作成
CData はOAuth アプリケーション認証情報を製品に組み込んでおり、デスクトップアプリケーションまたはヘッドレスマシン経由でGoogle Sheets に接続する際に使用できます。埋め込みOAuth アプリケーションを使用する場合、接続するために必要なことは以下のみです。- AuthScheme をOAuth に設定し、
- OAuthAccessToken を取得して設定し、
- 必要な設定パラメータを設定します。
(OAuthAccessToken およびその他の設定パラメータを取得および設定する方法についての情報は、「Google Sheets への接続」の デスクトップ認証セクションを参照してください。)
ただし、Web 経由で接続するユーザー、およびユーザーの代わりにサービスアカウント経由で接続する場合は、カスタムOAuth 接続が必要になります。カスタムOAuth アプリケーションは、次のような場合にも有用です。
- 認証ダイアログのブランディングをコントロールしたいとき
- ユーザー認証後にアプリケーションがユーザーをリダイレクトするためのリダイレクトURI をコントロールしたいとき
- ユーザーからのリクエストに対する許可をカスタマイズしたいとき
プロシージャ
Web ユーザーまたはサービスアカウント用のカスタムOAuth アプリケーションを作成する前に、Google Sheets API を有効にする必要があります。- Google Cloud Console に移動します。
- 左のナビゲーションペインで、ライブラリを選択します。コンソールはライブラリページを表示します。
- 検索サービスを使用してGoogle Sheets API を見つけます。検索結果から"Google Sheets API" を選択します。
- Google Sheets API ページで、有効にするをクリックします。
ユーザーアカウント
Google Cloud Console で:- 新しいプロジェクトを作成するか、既存のプロジェクトを選択します。
- 左のナビゲーションペインで、認証情報を選択します。
- 選択したプロジェクトに同意画面がない場合は、同意画面を設定をクリックします。Google Workspace アカウントを使用しない場合、User Type が外部の同意画面の作成に制限され、ユーザーサポートメールとデベロッパーの連絡先情報を指定する必要があります。追加情報は任意です。
- 認証情報ページで認証情報を作成 -> OAuth クライアントID を選択します。
- アプリケーションの種類メニューでウェブアプリケーションを選択します。
- OAuth カスタムWeb アプリケーションの名前を指定します。
- 承認済みのリダイレクトURI の下にあるURI を追加をクリックし、リダイレクトURI を入力します。
- Enter をクリックします。
- 作成をクリックします。
アプリケーションの作成が完了すると、Cloud コンソールは認証情報ページに戻ります。 ウィンドウが開き、クライアントId とクライアントシークレットが表示されます。
クライアントシークレットはGoogle Cloud コンソールからアクセス可能ですが、クライアントシークレットをメモしておくことをお勧めします。OAuthClientId とOAuthClientSecretを指定するには、クライアントシークレットとクライアントId の両方が必要です。
サービスアカウント
このOAuth フローのサービスアカウントを使って、ユーザーもしくはドメインの代わりにGoogle API にアクセスすることができます。ドメイン管理者はドメイン全体のアクセスをサービスアカウントに委任することができます。AuthScheme=OAuthJWT を使用する場合、サービスアカウントを作成する必要があります。
Google Cloud Console で:
- サービスアカウントフローを完了させるには、Google Cloud Console で秘密キーを生成します。 サービスアカウントフローにおいて、ドライバーはOAuthAccessToken へのJSON Web Token (JWT) を交換します。秘密キーはJWT の署名に必要です。ドライバーは、サービスアカウントに同じ権限を付与します。
- ここで新しいサービスアカウントを作成します。
- 新しいプロジェクトを作成するか、既存のプロジェクトを選択します。
- 左のナビゲーションペインで、認証情報を選択します。
- 認証情報を作成 -> サービスアカウントに移動します。Cloud コンソールは サービスアカウントの作成ページを表示します。
- サービスアカウント名、サービスアカウントID、および任意でサービスアカウントの説明を入力します。
- 完了をクリックします。Cloud コンソールは認証情報ページに戻ります。
- サービスアカウントエリアで、作成したサービスアカウントを選択します
- 「キー」タブをクリックし、続けて鍵を追加 -> 新しい鍵を作成 をクリックします。
- OAuthJWTCert やOAuthJWTCertType のような、サポートされているキータイプを選択します。
- 作成をクリックします。
キーは自動的にローカルデバイスにダウンロードされ、キーに固有の追加情報が表示されます。