Google AppsアダプタのOAuth2.0接続設定方法

はじめに

ここではGoogle AppsアダプタのOAuth2.0接続設定方法について説明します。

Google Appsアダプタの使用方法については、SkyOnDemandのヘルプを参照してください。

本ページ内のGoogle Developers Consoleの操作手順は、2015年2月6日時点のGoogle Developers Consoleの情報を基にしています。今後、仕様が変更される可能性があります。

Google Developers Consoleの詳細については、Google Developers Consoleのオンラインヘルプ を参照してください。

Google Appsのサポート対象ブラウザついては、Google Appsのオンラインヘルプ「サポートされているブラウザ」 を参照してください。

本ページの説明の前提

Google Document List API として提供されていた API が、2015年4月20日でサービス停止となることが告知されています。(告知内容はこちら
サービスが停止された場合、上記時期以降で、現状の Google ドキュメントアダプタ、Google スプレッドシートアダプタが使用できない状態となります。

そ のため、SkyOnDemandの2015年4月のバージョンアップにて、本ページに記載のあるOAuth2.0接続設定が新たに設定可能となりますの で、Google ドキュメントアダプタ、Google スプレッドシートアダプタをご使用のお客様は、認証方式の切り替えを実施していただくようお願いいたします。

対応の必要性の確認方法

WebStudioにログインいただき、[コントロールパネル] > [グローバルリソースの設定] を開きます。一覧の「種類」に「Googleドキュメント」または「Googleスプレッドシート」 の設定が存在する場合、該当します。

また、上記対応に伴いまして、Googleドキュメントアダプタの表記が「Googleドライブアダプタ」に変更されますので、本ページでは、新しい表記「Googleドライブアダプタ」という表記で説明します。

Google Appsアダプタのグローバルリソースについて

Google Appsアダプタには、ユーザIDとパスワードによる接続を行うグローバルリソースと、 OAuth2.0による接続を行うグローバルリソースの二種類があります。

アダプタ認証方式グローバルリソース種類名
GmailアダプタOAuth2.0認証を使用しないため、本ページの説明対象外となります。  

Googleドライブアダプタ

ユーザIDとパスワード 

 

Googleドライブ

パスワード認証設定 (Document List API v3)

OAuth 2.0

 

Googleドライブ

OAuth 2.0認証設定 (Drive API v2)

Googleスプレッドシートアダプタ

 

ユーザIDとパスワード 

 

Googleスプレッドシート

パスワード認証設定 (Sheets API v3)

 

OAuth 2.0

Google スプレッドシート

OAuth 2.0認証設定 (Sheets API v3)

本ページでは、上記のうちGoogleドライブアダプタとGoogleスプレッドシートアダプタのOAuth2.0による接続を行う際の設定について説明します。

OAuth 2.0 の認証フロー

OAuth 2.0による接続では、認可コードを使う方式(Authorization Code Grant Flow)で認証フローを実現します。認証フローの詳細については、「Using OAuth 2.0 for Installed Applications – Overview」のページを参照してください。

GoogleドライブアダプタおよびGoogleスプレッドシートアダプタではアクセストークンとリフレッシュトークンを使用しているため、グローバルリソースの作成時に取得する必要があります。

 

OAuth 2.0 による接続の設定方法

OAuth 2.0による接続の設定は、Google Developers Console(ウェブブラウザ上)とGoogleドライブアダプタ/Googleスプレッドシートアダプタ(WebStudio上)双方で行います。

Google Developers Console上の設定

まず、Google AppsアダプタのOAuth2.0認証設定を行うために、Google Developers Consoleにて認証情報を発行する必要があります。

Google Developers Console(https://console.developers.google.com) にアクセスしてログインし、以下の手順にてGoogle Developers Consoleのプロジェクトにアプリケーションを追加して、接続するための認証情報(クライアントID, クライアントシークレット)を発行てください。(プロジェクト未作成の場合はプロジェクトを作成してください。)

プロジェクトの作成とAPIの作成

Google Developers Consoleにプロジェクトを作成して、APIの権限を設定します。

アプリケーションの情報はプロジェクト内で管理されるため、少なくとも一つ以上のプロジェクトを作成しておく必要があります。

既存のプロジェクトを使用する場合はこの手順を実施する必要はありません。

  1. Google Developers Consoleの初期化画面で「プロジェクトを作成」を押下します。
  2. 「新しいプロジェクト」ダイアログの「プロジェクト名」と「プロジェクトID」を設定し、「作成」を押下します。
  3. サイドメニューの「APIと認証」の「API」を開きます。
  4. 「Drive API」と「Drive SDK」のステータスを有効にします。
  5. その他の使用しないAPIのステータスを無効にします。

アプリケーション認証情報の発行

作成済みのGoogle Developers Consoleのプロジェクトにアプリケーションを追加して、認証情報を発行します。

発行した認証情報はSkyOnDemand WebStudio のグローバルリソースに使用します。

一つのプロジェクト内で複数件のアプリケーション認証情報を作成できます。

アプリケーション認証情報を発行・更新してから、Googleのサービスに完全に反映されるまでに時間がかかることがあります。

  1. Google Developers Consoleの初期画面でプロジェクトを選択します。
  2. サイドメニューの「APIと認証」の「認証情報」を開きます。
  3. 「新しいクライアントIDを作成」を押下します。
  4. 「クライアントIDを作成」ダイアログで「インストールされているアプリケーション」を選択して、「同意画面を設定」を押下します。
  5. 同意画面に必要な内容を設定して、「保存」を押下します。
  6. 「クライアントIDを作成」ダイアログで「インストールされているアプリケーションの種類」に「その他」を選択し、「クライアントIDを作成」を押下します。
  7. アプリケーションの認証情報が「ネイティブアプリケーションのクライアントID」として追加されます。

Googleドライブアダプタ/Googleスプレッドシートアダプタのグローバルリソース作成手順

前項「アプリケーション認証情報の発行」で登録済みのアプリケーション認証情報をもとに、Googleドライブアダプタ/Googleスプレッドシートアダプタのグローバルリソースを作成します。

SkyOnDemand のサポートウェブブラウザとGoogle Appsのサポート対象ブラウザの双方が一致したウェブブラウザを使用してください。

グローバルリソースは承認する際に使用したユーザに紐付けられます。ユーザを識別しやすいリソース名の使用を推奨します。 

Google Developers Consoleの認証情報設定画面でクライアントシークレットを変更した場合、変更前のクライアントシークレットを使用したグローバルリソースの[クライアントシークレット][リフレッシュトークン] を更新・再発行する必要があります。

  1. WebStudioへログインします。
  2. コントロールパネル > グローバルリソースの設定 にて、新規でグローバルリソースを作成します。
  3. [クラウド]タブよりGoogleドライブアダプタのグローバルリソース[Google ドライブ OAuth2.0認証設定(Drive API v2)] または、Googleスプレッドシートアダプタのグローバルリソース[Google スプレッドシート OAuth2.0認証設定(Sheets API v3)] を選択し[次へ]を押下します。
  4. グローバルリソースのプロパティ項目[クライアントID] と [クライアントシークレット] に、Google Developers Consoleで取得した値を設定します。
  5. プロパティアクションの[リフレッシュトークン発行...] を押下します。押下した後に新しいブラウザウインドウにGoogleのユーザログイン画面が表示されます。
    • [リフレッシュトークン発行...] を押下した後に「認可コードの設定」ダイアログが表示されます。[取得...] を押下するとGoogleのユーザログイン画面が表示されます。
  6. Googleのユーザでログインし、アクセス許可を承認します。
    • ブラウザウインドウに、コードをコピーしてアプリケーションに張り付けるような指示が表示された場合、指示に従って操作してください。
  7. [リフレッシュトークン] に発行されたトークンが設定されます。

  8. [完了]をクリックして設定終了です。

既存グローバルリソースの変更手順について

「本ページの説明の前提」でも記載した通り、既存のSkyOnDemandの設定において、Google ドキュメントアダプタ、Google スプレッドシートアダプタを使用している場合、設定変更する必要があります。

その場合、2015年4月20日までに以下の手順で必ず設定変更を行ってください。(当設定変更を行うには、新しいバージョンのモジュール適用が必要となります。バージョンアップ前に設定変更を実施したい場合はサポートまでお問い合わせください。)

  1. WebStudioにログインします。
  2. マイトリガーから全トリガーを無効化します。 
  3. 他の設定画面を開いていない状態で(WebStudioへログインした直後の状態)で以下の設定を実施します。
  4. グローバルリソースの設定画面で、種類が変更対象である[Googleドライブ パスワード認証設定 (Document List API v3)]または[Googleスプレッドシート パスワード認証設定 (Sheets API v3)]になっているものを探します。
  5. ダブルクリックして開いたダイアログで、[接続名]を控えておきます。(控えた設定は、作成し直す際に利用します。)
  6. 一覧から右クリック > 削除 で該当の接続設定を削除します。
  7. ファイル>新規グローバル作成から、変更先の[Googleドライブ OAuth認証設定(Drive API v2)]または、[Googleスプレッドシート OAuth2.0認証設定(Sheets API v3]を選択し、[次へ]をクリックします。
  8. 接続の設定画面で、接続名欄に上記4.でコピーした[接続名]をペーストし、その他必要な項目について入力します。(OAuth 2.0認証設定については前項を参照)
  9. [完了]をクリックして設定は終了です。
  10. 同じ名称での作成が正しく行われているかどうか、少なくとも正常系の連携処理を1つ、テストとして実行することをお勧めします。

既存グローバルリソースと同じ名称のグローバルリソース設定を上記手順にて作成することにより、連携スクリプト側の修正をせず接続設定を変更することが可能となりますので、必ず上記手順での変更をお願いします。