Google アプリケーション用の OAuth クライアントID、クライアントシークレット、アクセストークン、およびリフレッシュトークンを取得するには

IBM® ( App Connect )をGmailや Google Sheetsなどの Google アプリケーションで利用できるようにするには、 Google APIに対応した適切なスコープを持つ OAuth ( 2.0 )のクライアントID、クライアントシークレット、アクセストークン、およびリフレッシュトークンを取得する必要があります。

ハイレベルの手順

ヒント: 接続値の生成の詳細については、 Google Identity ページの Setupを参照してください。
  1. Google 管理コンソールまたは Google Cloud Platform コンソールで、プロジェクトを選択するか、作成します
  2. アクセストークンとリフレッシュトークンの取得リクエストを承認するための同意画面を定義する。
  3. OAuth のクライアントIDとシークレットを取得する
  4. IBM App Connect Google データで使用させたい Google API を有効にする。
  5. アクセストークンとリフレッシュトークンを取得し、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 では、プロジェクトにおける OAuth および 2.0 の認証と承認に関する詳細を設定します。 IBM ( App Connect )では、既存のプロジェクトを使用するか、新しいプロジェクトを作成することができます。
  1. Google Cloud Platform ( https://console.developers.google.com/apis/dashboard )を開きます。

    ( Google アカウントでサインイン)

  2. プロジェクト・メニューから、以下のように既存のプロジェクトを選択するか、新しいプロジェクトを作成する。
    1. NEW PROJECTをクリック
    2. 表示された場合は、 Google Cloud Platform の利用規約に同意して続行してください
    3. プロジェクトを識別するプロジェクト名を入力します。
      Project for IBM App Connect
    4. 「作成」をクリックします。

アクセストークンとリフレッシュトークンの取得リクエストを承認するために使用する同意画面を定義します

OAuth 」の同意画面オプションを使用して、同意画面を設定します。

IBM App Connect 使用のためのアクセストークンとリフレッシュトークンを取得するために、同意画面を使用します。
  1. 「 OAuth 」の同意画面オプションを選択してください
  2. Google Workspace ユーザーでない場合は、[ External] チェックボックスが選択されているため、アプリを自分で使用したり、 Google アカウントを持つユーザーがアプリを使用できるようにしたりできます。 これらのユーザーは、アクセストークンとリフレッシュトークンを設定する際に 「未確認のアプリ 」画面が表示される場合がありますが、 OAuth の認証情報を使用して、 IBM App Connect を Google のアプリに接続することができます。 Google Workspace ユーザーは、 「内部 」チェックボックスを選択することで、組織内の他のユーザーがアプリを利用できるようにすることができます。 Google の管理コンソールでは、組織の構造、設定、およびポリシーに応じて、ユーザーが独自のクライアントIDとクライアントシークレットを作成できます。 あるいは、 Google ワークスペースのアカウント所有者のクライアントIDとクライアントシークレットを使用することも可能です。 これらのユーザーは、アクセストークンとリフレッシュトークンを設定する際に 「未確認のアプリ 」画面が表示されず、 OAuth の認証情報を使用して、 IBM App Connect を Google のアプリに接続することができます。
  3. 「作成」をクリックします。
  4. App for IBM App Connect のように、アプリケーションを識別する名前を入力します。
  5. Authorized domains(許可されたドメイン) フィールドに、 ibm.com と入力し、returnを押して値を許可されたドメインのリストに追加します。
  6. 保存 をクリックします。

OAuth のクライアントIDとシークレットを取得する

認証情報 」オプションを使用して、 OAuth のクライアントIDとシークレットを取得してください。
  1. 資格情報オプションをクリックします
  2. をクリックします
  3. OAuth のクライアントID をクリック
  4. Webアプリケーションのチェックボックスをクリックします
  5. 「 IBM App Connect 」の「 OAuth 」を管理しやすくするために、名前を入力してください。例: Web client for IBM App Connect
  6. Authorized redirect URIs ]フィールドに、 Google API playground用のリダイレクトURIを入力します(この値は、後でアクセストークンとリフレッシュトークンを取得する際に必要になります): https://developers.google.com/oauthplaygroundを入力し、returnを押してこの値をリストに追加します
  7. 作成 をクリックします。

後でクライアント ID やシークレットを確認したり、他の IBM App Connect サービス用のリダイレクト URI を追加したりしたい場合は、ダッシュボードで [Credentials] をクリックし、[ OAuth 2.0 Client IDs] の行をクリックしてください。

IBM App Connect Google データで使用させたい Google API を有効にする

プロジェクトでは、使用可能な Google API を有効にしてください。 APIの利用を許可するスコープを後で定義する。 例えば、メッセージの取得のみや、新しいスプレッドシートの作成などである。
  1. ライブラリオプションをクリックします。
  2. IBM App Connect フローで使用する Google API を選択し、[ ENABLE] をクリックします。
IBM App Connect で使用したい Google アプリのそれぞれについて、以下の手順を繰り返す:
  • 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はダッシュボードにリストアップされる:

図1: Google Cloud Platform 有効になっているAPIの一覧を表示するダッシュボード
Google APIコンソールのダッシュボード(有効なAPIのリストを表示

アクセストークンとリフレッシュトークンを取得し、APIスコープを選択します

以下の手順では、 Google Developers( OAuth )の 2.0 Playgroundを使用してアクセストークンとリフレッシュトークンを取得し、 IBM ( App Connect )で使用する各 Google アプリのAPIスコープを選択します。 この段階では、APIのスコープを選択し、 IBM App Connect で使用したい Google アカウントのアクセストークンとリフレッシュトークンを取得します。 そのアカウントは、以前の段階で「 Google 」アプリを作成するために使用した Google アカウント(クライアントIDとクライアントシークレットを取得するため)とは異なる場合があります。 IBM ( App Connect )で一連のイベントやアクションをすべて実行できるようにするには、このセクションに記載されているように、最も高い権限を持つスコープを選択してください。 IBM ( App Connect )の権限を制限し、特定のイベントやアクションのみを実行できるようにすることができます。具体的には、1つの Google アプリケーションに必要なスコープのみを含むアクセストークンを取得し、イベントやアクションに必要な最も制限の厳しいスコープのみを選択することで実現できます。 1つ以上の Google アプリケーションにおけるイベントやアクションに必要な、それぞれ異なるスコープの組み合わせを持つ複数のアクセストークンを取得できます。 たとえば、スコープが ` https://www.googleapis.com/auth/gmail.readonly ` のアクセストークンを取得することで、` IBM ` および ` App Connect ` のフローを「新しいメール」イベントによってトリガーし、「メールを取得」アクションを実行できるようになります。
  1. Google 開発者向けページを表示 OAuth 2.0 Playground: https://developers.google.com/oauthplayground/
  2. クライアントIDとクライアントシークレットを指定します:
    1. 設定アイコン(右側)をクリックします
    2. OAuth の認証情報を使用する 」チェックボックスを選択してください
    3. OAuth のクライアントIDと OAuth のクライアントシークレットを入力してください
    4. 閉じるをクリック
    図2: Google 開発者向け OAuth 2.0 Playground:クライアント ID とシークレットの設定
    Google 開発者向け OAuth 2.0 Playground:クライアント ID とシークレットの設定

    (画像をクリックすると拡大表示されます)

  3. 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
    IBM App Connect、フローをトリガーする「New email」イベントやメールを送信する「Send email」アクションなど、イベントやアクションのサブセットのみを実行できるようにするには、より小さな権限を持つスコープを選択します。例えば、Gmailのイベントやアクションでは、以下のような小さなスコープを選択できます:
    • '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の選択
    Google APIプレイグラウンド、APIの選択

    (画像をクリックすると拡大表示されます)

  4. Authorize APIs ]をクリックします。
  5. アカウントの選択ウィンドウで、 IBM App Connect で使用する Google アカウントを選択します。 This app isn't verified(このアプリは認証されていません)」というメッセージが表示される場合は、設定しようとしているアプリが Google によって認証されていないためです。 続ける:
    1. Advanced(詳細)リンクをクリックし、続行するオプションを表示します
    2. 「移動」 リンクをクリックします(先ほど定義した「 OAuth 」の同意画面へ移動します)

    先ほど選択した Google APIそれぞれのダイアログウィンドウが表示されます。 各ダイアログウィンドウの[ 許可]をクリックします。 (表示されたパーミッションに懸念がある場合は、後で戻って選択した Google APIを変更することができます) 最後のダイアログウィンドウの後に、先ほど定義した OAuth の同意画面が表示されます(許可した Google APIの情報が入力された状態で表示されます)。

    図4: Google APIs Playground、 OAuth の同意画面
    Google APIs Playground、 OAuth の同意画面

    (画像をクリックすると拡大表示されます)

  6. 「 OAuth 」の同意ウィンドウで、 「許可」 をクリックします。 (表示されている権限について懸念がある場合は、該当するチェックボックスの選択を解除するか、戻って有効にした Google APIを変更することができます。)
  7. ステップ2でトークンの認証コードを交換します。
    1. チェックボックス「 Auto-refresh before it expires 」を選択します
    2. トークンの認証コードを交換 ]をクリックします。
これらの手順は、次の例に示すように、アクセストークンとリフレッシュトークンを生成し、選択したAPIのスコープを生成します。
{
  "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、クライアント・シークレット、アクセストークン、リフレッシュ・トークンを入力する:

図 5. App Connect で、OAUth 2.0 の認証情報を使ってGmailに接続する。
App Connect / Catalogで、OAUth 2.0 の認証情報を使ってGmailに接続する。

(画像をクリックすると拡大表示されます)

異なる Google コネクター操作の最小スコープ

表 1. Gmail API最小スコープ
操作 最低限必要なスコープ
E メールの作成
  • https://www.googleapis.com/auth/gmail.readonly
  • https://www.googleapis.com/auth/gmail.send
E メールの削除
  • https://www.googleapis.com/auth/gmail.compose
  • https://www.googleapis.com/auth/gmail.readonly
新しい E メール
  • https://www.googleapis.com/auth/gmail.readonly
電子メールの取得
  • https://www.googleapis.com/auth/gmail.readonly
Eメールラベルの更新
  • https://www.googleapis.com/auth/gmail.modify
表 2. Google Analytics API の最小スコープ
アクション・オペレーション 最低限必要なスコープ
すべての操作 https://www.googleapis.com/auth/analytics
表 3. Google Drive APIの最小スコープ
操作 最低限必要なスコープ
コメント作成 https://www.googleapis.com/auth/drive.file
コメントの取得
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.metadata
すべてのコメントを取得する
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive.metadata
  • https://www.googleapis.com/auth/drive.metadata.readonly
ファイル作成 https://www.googleapis.com/auth/drive.file
すべてのファイルを取得する
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.metadata
  • https://www.googleapis.com/auth/drive.metadata.readonly
ファイルのメタデータを取得する
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.metadata
  • https://www.googleapis.com/auth/drive.metadata.readonly
ファイルのダウンロード
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive.file
フォルダーの作成 https://www.googleapis.com/auth/drive.file
フォルダの取得
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.metadata
  • https://www.googleapis.com/auth/drive.metadata.readonly
  • https://www.googleapis.com/auth/drive.photos.readonly
フォルダ項目の取得
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive.appdata
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.metadata
  • https://www.googleapis.com/auth/drive.metadata.readonly
すべてのフォルダを取得する
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive.metadata
  • https://www.googleapis.com/auth/drive.metadata.readonly
ページ・トークンの生成
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.metadata
  • https://www.googleapis.com/auth/drive.metadata.readonly
パーミッションの作成 https://www.googleapis.com/auth/drive.file
アクセス許可の取得
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.metadata
返信を作成する https://www.googleapis.com/auth/drive.file
返信の取得
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive.file
リビジョンを検索
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.metadata
  • https://www.googleapis.com/auth/drive.metadata.readonly
すべてのリビジョンを取得
  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.metadata
  • https://www.googleapis.com/auth/drive.metadata.readonly
上記すべての業務 https://www.googleapis.com/auth/drive
表 4。 Google シート API 最小スコープ
アクション・オペレーション 最低限必要なスコープ
行を作成する https://www.googleapis.com/auth/drive.file
行を検索
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.readonly
スプレッドシートの作成 https://www.googleapis.com/auth/drive.file
スプレッドシートの取得
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.readonly
ワークシート作成 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.readonly
新しいスプレッドシート
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/drive.readonly
上記すべての業務 https://www.googleapis.com/auth/drive
表 5. Google カレンダーAPIの最小スコープ
アクション・オペレーション 最低限必要なスコープ
すべての操作 https://www.googleapis.com/auth/calendar
表 6. Google APIの最小スコープを翻訳する
アクション・オペレーション 最低限必要なスコープ
すべての操作 https://www.googleapis.com/auth/cloud-translation
https://www.googleapis.com/auth/cloud-platform
表 7. Google コンタクトAPIの最小スコープ
アクション・オペレーション 最低限必要なスコープ
すべての操作 https://www.googleapis.com/auth/contacts (に対して App Connect )
https://www.googleapis.com/auth/contacts.other.readonly (に対して App Connect in containers )
表 8。 Google チャットAPIの最小スコープ
アクション・オペレーション 最低限必要なスコープ
すべての操作 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
表 9。 Google グループ API の最小スコープ
アクション・オペレーション 最低限必要なスコープ
すべての操作
注: Google グループコネクタには管理者スコープのみが適用されます。
https://www.googleapis.com/auth/admin.directory.group
表 10。 Google タスクAPIの最小スコープ
アクション・オペレーション 最低限必要なスコープ
すべての操作 https://www.googleapis.com/auth/tasks
表 11。 Google Gemini API最小スコープ
アクション・オペレーション 最低限必要なスコープ
すべての操作 https://www.googleapis.com/auth/generative-language