Google アプリケーション用の OAuth クライアントID、クライアントシークレット、アクセストークン、およびリフレッシュトークンを取得するには
IBM® ( App Connect )をGmailや Google Sheetsなどの Google アプリケーションで利用できるようにするには、 Google APIに対応した適切なスコープを持つ OAuth ( 2.0 )のクライアントID、クライアントシークレット、アクセストークン、およびリフレッシュトークンを取得する必要があります。
ハイレベルの手順
- Google 管理コンソールまたは Google Cloud Platform コンソールで、プロジェクトを選択するか、作成します
- アクセストークンとリフレッシュトークンの取得リクエストを承認するための同意画面を定義する。
- OAuth のクライアントIDとシークレットを取得する
- IBM App Connect Google データで使用させたい Google API を有効にする。
- アクセストークンとリフレッシュトークンを取得し、APIスコープを選択します。
以下の手順では、 Google API が有効になっているプロジェクトに対して、適切な OAuth のクライアントIDとクライアントシークレットをお持ちでないことを前提としています。 この手順では、 Google Cloud Platform を使用して OAuth のクライアント ID とクライアントシークレットを取得し、 IBM ( App Connect )にユーザーの Gmail アカウントへのアクセス権を付与する方法について説明します。 また、この手順では、 Google Developers OAuth 2.0 Playground を使用して、アクセストークンとリフレッシュトークンを取得する方法についても説明しています。 適切な OAuth のクライアントIDとクライアントシークレットをお持ちの場合は、それらを使用してアクセストークンとリフレッシュトークンを取得し、APIスコープを選択することができます。その場合、新しいプロジェクトを作成して設定する必要はありません。 適切なAPIスコープを持つアクセス トークンとリフレッシュ トークンをお持ちの場合は、 App Connect でそれらをクライアント ID およびクライアント シークレットと共に使用し、 Google アプリケーションの新しいアカウントを作成してください。 必要な OAuth の認証情報を取得するには、他にも方法があります。 たとえば、 Google Workspaceのアカウントをお持ちの場合は、 Google Cloud Platform の代わりに Google 管理コンソールをご利用いただけます。 詳細については、『 Google 』ドキュメントの 「 OAuth 2.0 を使用して Google API にアクセスし、 サードパーティ製および社内アプリによる Google Workspace データへのアクセスを制御する 」を参照してください。
プロジェクトで開始
- Google Cloud Platform ( https://console.developers.google.com/apis/dashboard )を開きます。
( Google アカウントでサインイン)
- プロジェクト・メニューから、以下のように既存のプロジェクトを選択するか、新しいプロジェクトを作成する。
- NEW PROJECTをクリック
- 表示された場合は、 Google Cloud Platform の利用規約に同意して続行してください
- プロジェクトを識別するプロジェクト名を入力します。
Project for IBM App Connect - 「作成」をクリックします。
アクセストークンとリフレッシュトークンの取得リクエストを承認するために使用する同意画面を定義します
「 OAuth 」の同意画面オプションを使用して、同意画面を設定します。
- 「 OAuth 」の同意画面オプションを選択してください
- Google Workspace ユーザーでない場合は、[ External] チェックボックスが選択されているため、アプリを自分で使用したり、 Google アカウントを持つユーザーがアプリを使用できるようにしたりできます。 これらのユーザーは、アクセストークンとリフレッシュトークンを設定する際に
「未確認のアプリ
」画面が表示される場合がありますが、 OAuth の認証情報を使用して、 IBM App Connect を Google のアプリに接続することができます。 Google Workspace ユーザーは、 「内部 」チェックボックスを選択することで、組織内の他のユーザーがアプリを利用できるようにすることができます。 Google の管理コンソールでは、組織の構造、設定、およびポリシーに応じて、ユーザーが独自のクライアントIDとクライアントシークレットを作成できます。 あるいは、 Google ワークスペースのアカウント所有者のクライアントIDとクライアントシークレットを使用することも可能です。 これらのユーザーは、アクセストークンとリフレッシュトークンを設定する際に「未確認のアプリ
」画面が表示されず、 OAuth の認証情報を使用して、 IBM App Connect を Google のアプリに接続することができます。 - 「作成」をクリックします。
App for IBM App Connectのように、アプリケーションを識別する名前を入力します。- Authorized domains(許可されたドメイン) フィールドに、
ibm.comと入力し、returnを押して値を許可されたドメインのリストに追加します。 - 保存 をクリックします。
OAuth のクライアントIDとシークレットを取得する
- 資格情報オプションをクリックします
- をクリックします。
- OAuth のクライアントID をクリック
- Webアプリケーションのチェックボックスをクリックします
- 「 IBM App Connect 」の「 OAuth 」を管理しやすくするために、名前を入力してください。例:
Web client for IBM App Connect - Authorized redirect URIs ]フィールドに、 Google API playground用のリダイレクトURIを入力します(この値は、後でアクセストークンとリフレッシュトークンを取得する際に必要になります):
https://developers.google.com/oauthplaygroundを入力し、returnを押してこの値をリストに追加します - 作成 をクリックします。
後でクライアント ID やシークレットを確認したり、他の IBM App Connect サービス用のリダイレクト URI を追加したりしたい場合は、ダッシュボードで [Credentials] をクリックし、[ OAuth 2.0 Client IDs] の行をクリックしてください。
IBM App Connect Google データで使用させたい Google API を有効にする
- ライブラリオプションをクリックします。
- IBM App Connect フローで使用する Google API を選択し、[ ENABLE] をクリックします。
- Gmail Gmail API
- Google アナリティクス Google アナリティクスAPI
- Google Drive : Google Drive API
- Google シート Google Sheets API および Google Drive API
- Google カレンダー Google カレンダーAPI
- Google 翻訳する Google 翻訳API
- Google 連絡先 Google コンタクトAPI
- Google チャット Google チャットAPI
- Google グループ Google グループAPI
- Google タスク Google タスクAPI
- Google Gemini:Google Gemini API
有効にしたAPIはダッシュボードにリストアップされる:

アクセストークンとリフレッシュトークンを取得し、APIスコープを選択します
- Google 開発者向けページを表示 OAuth 2.0 Playground: https://developers.google.com/oauthplayground/
- クライアントIDとクライアントシークレットを指定します:
- 設定アイコン(右側)をクリックします
- 「 OAuth の認証情報を使用する 」チェックボックスを選択してください
- OAuth のクライアントIDと OAuth のクライアントシークレットを入力してください
- 閉じるをクリック
図2: Google 開発者向け OAuth 2.0 Playground:クライアント ID とシークレットの設定 
(画像をクリックすると拡大表示されます)
- Step 1 Select & authorize APIs」では、 IBM App Connect で使用したい Google アプリごとに、API のスコープを選択する。 IBM App Connect がすべてのイベントとアクションを実行できるようにするには、使用する Google アプリケーションを以下のスコープリストから選択することをお勧めします:
- Gmailアプリの場合 - (Gmail API v1 の下 )
- https://www.googleapis.com/auth/gmail.modify
- Google Drive アプリの場合 - (Drive API v3 の下 )
- https://www.googleapis.com/auth/drive
- Google Sheets アプリ用 - ( Google Sheets API v4 の下)
- https://www.googleapis.com/auth/drive
- Google アナリティクスアプリについて – ( Google アナリティクスAPI v4 )
- https://www.googleapis.com/auth/analytics
- https://www.googleapis.com/auth/analytics.edit
- https://www.googleapis.com/auth/analytics.manage.users
- https://www.googleapis.com/auth/analytics.manage.users.readonly
- 'New email' イベントと 'Retrieve emails' アクション:
- https://www.googleapis.com/auth/gmail.readonly
- メール送信」アクション:
- https://www.googleapis.com/auth/gmail.readonly
- https://www.googleapis.com/auth/gmail.send
- メールを削除する」アクション:
- https://www.googleapis.com/auth/gmail.readonly
- https://www.googleapis.com/auth/gmail.compose
電子メール・ラベルの更新
アクションは、スコープ https://www.googleapis.com/auth/gmail.modify を必要とします。このスコープは、 IBM App Connect、すべてのイベントとアクションを実行できるようにします。
(Gmail、 Google Analytics、 Google Drive、 Google Sheets、 Google Calendar、 Google Translate、 Google Contacts、 Google Chat、 Google Groups、 Google Tasks、 Google Geminiの最小APIスコープについては、 このページの脚注を参照)
図3: Google APIプレイグラウンド、APIの選択 
(画像をクリックすると拡大表示されます)
- Gmailアプリの場合 - (Gmail API v1 の下 )
- Authorize APIs ]をクリックします。
- アカウントの選択ウィンドウで、 IBM App Connect で使用する Google アカウントを選択します。 This app isn't verified(このアプリは認証されていません)」というメッセージが表示される場合は、設定しようとしているアプリが Google によって認証されていないためです。 続ける:
- Advanced(詳細)リンクをクリックし、続行するオプションを表示します
- 「移動」 リンクをクリックします(先ほど定義した「 OAuth 」の同意画面へ移動します)
先ほど選択した Google APIそれぞれのダイアログウィンドウが表示されます。 各ダイアログウィンドウの[ 許可]をクリックします。 (表示されたパーミッションに懸念がある場合は、後で戻って選択した Google APIを変更することができます) 最後のダイアログウィンドウの後に、先ほど定義した OAuth の同意画面が表示されます(許可した Google APIの情報が入力された状態で表示されます)。
図4: Google APIs Playground、 OAuth の同意画面 
(画像をクリックすると拡大表示されます)
- 「 OAuth 」の同意ウィンドウで、 「許可」 をクリックします。 (表示されている権限について懸念がある場合は、該当するチェックボックスの選択を解除するか、戻って有効にした Google APIを変更することができます。)
ステップ2でトークンの認証コードを交換します。
- チェックボックス「 Auto-refresh before it expires 」を選択します
- トークンの認証コードを交換 ]をクリックします。
{
"access_token": "ya29.Il-9B2KbXhweZamxIsHe3_rjblkc7Xh_...VyvmQlj-JgAuWsTeTw29Hl22ivqHUIdwuDVn9ixxaEGJoDkZBZAkaCss4w",
"scope": "https://www.googleapis.com/auth/analytics.manage.users.readonly https://www.googleapis.com/auth/analytics https://www.googleapis.com/auth/analytics.readonly https://www.googleapis.com/auth/gmail.modify https://www.googleapis.com/auth/analytics.manage.users https://www.googleapis.com/auth/analytics.edit https://www.googleapis.com/auth/drive",
"token_type": "Bearer",
"expires_in": 3599,
"refresh_token": "1//04g2mKH5RhxUECgYIARAAGAQSNwF-L9IreLqEqk...x5eDp6nTKBRsxCRMVW6gU9ijJnY02uQRuw"
}
トークンの値を安全な場所にコピーし、 Google アプリに接続する際に IBM App Connect で使用できるようにします。
これで、 Google アプリケーション用の OAuth クライアントID、クライアントシークレット、アクセストークン、およびリフレッシュトークンを取得しました
IBM App Connect で、 Google アプリの新規アカウントを作成する際、クライアントID、クライアント・シークレット、アクセストークン、リフレッシュ・トークンを入力する:

(画像をクリックすると拡大表示されます)
異なる Google コネクター操作の最小スコープ
| 操作 | 最低限必要なスコープ |
|---|---|
| E メールの作成 |
|
| E メールの削除 |
|
| 新しい E メール |
|
| 電子メールの取得 |
|
| Eメールラベルの更新 |
|
| アクション・オペレーション | 最低限必要なスコープ |
|---|---|
| すべての操作 | https://www.googleapis.com/auth/analytics |
| 操作 | 最低限必要なスコープ |
|---|---|
| コメント作成 | https://www.googleapis.com/auth/drive.file |
| コメントの取得 |
|
| すべてのコメントを取得する |
|
| ファイル作成 | https://www.googleapis.com/auth/drive.file |
| すべてのファイルを取得する |
|
| ファイルのメタデータを取得する |
|
| ファイルのダウンロード |
|
| フォルダーの作成 | https://www.googleapis.com/auth/drive.file |
| フォルダの取得 |
|
| フォルダ項目の取得 |
|
| すべてのフォルダを取得する |
|
| ページ・トークンの生成 |
|
| パーミッションの作成 | https://www.googleapis.com/auth/drive.file |
| アクセス許可の取得 |
|
| 返信を作成する | https://www.googleapis.com/auth/drive.file |
| 返信の取得 |
|
| リビジョンを検索 |
|
| すべてのリビジョンを取得 |
|
| 上記すべての業務 | https://www.googleapis.com/auth/drive |
| アクション・オペレーション | 最低限必要なスコープ |
|---|---|
| 行を作成する | https://www.googleapis.com/auth/drive.file |
| 行を検索 |
|
| スプレッドシートの作成 | https://www.googleapis.com/auth/drive.file |
| スプレッドシートの取得 |
|
| ワークシート作成 | https://www.googleapis.com/auth/drive.file |
| 上記すべての業務 | https://www.googleapis.com/auth/drive |
| イベント運営 | 最低限必要なスコープ |
|---|---|
| 新しい完全な行が追加された |
|
| 新しいスプレッドシート |
|
| 上記すべての業務 | https://www.googleapis.com/auth/drive |
| アクション・オペレーション | 最低限必要なスコープ |
|---|---|
| すべての操作 | https://www.googleapis.com/auth/calendar |
| アクション・オペレーション | 最低限必要なスコープ |
|---|---|
| すべての操作 | https://www.googleapis.com/auth/cloud-translation |
| https://www.googleapis.com/auth/cloud-platform |
| アクション・オペレーション | 最低限必要なスコープ |
|---|---|
| すべての操作 | https://www.googleapis.com/auth/contacts (に対して App Connect ) |
| https://www.googleapis.com/auth/contacts.other.readonly (に対して App Connect in containers ) |
| アクション・オペレーション | 最低限必要なスコープ |
|---|---|
| すべての操作 | https://www.googleapis.com/auth/chat.delete |
| https://www.googleapis.com/auth/chat.memberships | |
| https://www.googleapis.com/auth/chat.messages | |
| https://www.googleapis.com/auth/chat.spaces |
| アクション・オペレーション | 最低限必要なスコープ |
|---|---|
| すべての操作 注: Google グループコネクタには管理者スコープのみが適用されます。
|
https://www.googleapis.com/auth/admin.directory.group |
| アクション・オペレーション | 最低限必要なスコープ |
|---|---|
| すべての操作 | https://www.googleapis.com/auth/tasks |
| アクション・オペレーション | 最低限必要なスコープ |
|---|---|
| すべての操作 | https://www.googleapis.com/auth/generative-language |