Exploratoryサーバー(ホステッドまたはオンプレミス)でGoogle Sheets, Analytics, BigQueryにOAuth接続する方法

このノートでは、exploratory.ioを通してGoogle Sheets, Google Analytics, Google BigQueryに接続するのと同様のやりかたで、Exploratoryサーバー(ホステッドまたはオンプレミス)で認証を行っているExploratoryデスクトップから、これらのGoogleのサービスに接続するための設定について説明します。

この設定によって以下のことができるようになります。

  • Exploratoryサーバーに接続されているExploratory デスクトップからGoogleのサービスのデータを読み込む。
  • Exploratoryサーバー上で、Googleのサービスのデータの読み込みをスケジュールする。
  • BigQueryの場合、Exploratoryサーバー上のダッシュボードなどでSQL中のパラメーターを変更してダイナミックにデータを読み込む。

前提条件

Google Sheets、Google Analytics、Google BigQueryにExploratoryサーバー(ホステッドまたはオンプレミス)を通して接続するための前提条件は以下のとおりです。

  • 使用するドメインの所有権がGoogleに対して証明してある。
  • ユーザーはGoogleのサービス(Google Sheetsなど)にはGoogle Appsのアカウントからアクセスする。
  • Exploratoryサーバーのマシンにはホスト名が割り当ててある。
  • ExploratoryサーバーはSSL(HTTPS)を使用している。
  • Exploratoryサーバーのバージョンは5.5.4以上。
  • Exploratory デスクトップのバージョンは5.5.4以上。

設定のステップ

この設定は、以下の3つのステップがあります。

  1. SSLの設定(もしすでに設定されていない場合)
  2. ExploratoryサーバーのGoogleへの登録
  3. Exploratoryサーバーの設定

以下で各ステップについて説明します。

SSLの設定

すでにExploratoryサーバーにSSL(HTTPS)が設定されていない場合は、こちらのノートに従って、SSLの設定を行います。

ExploratoryサーバーのGoogleへの登録

Exploratoryサーバー(ホステッドまたはオンプレミス)を、Google APIsにApp(アプリケーション)として登録します。exploratory.ioがGoogle APIのAppとしてGoogleのサービスに接続するように、Exploratoryサーバーも一つの独立したGoogle APIのAppとしてGoogleのサービスに接続するため、この登録、設定が必要となります。

使用するドメインの所有権をGoogleに対して証明

使用するドメインの所有権が、まだGoogleに対して証明されていない場合は、こちらのGoogleのページに従って証明を行います。

GoogleのサービスをOAuthを通して利用するには、Exploratoryサーバーを設置するドメインの所有権がGoogleに対して証明してある必要があります。

例えば、collabserver.yourcompany.comにCollaboration Serverを設置する場合、yourcompany.comの所有権がGoogleに対して証明されている必要があります。

Google APIsの管理画面を開く

こちらのリンクから、Google APIsの管理画面を開きます。 管理画面には、Google Appsのアカウントでログインします。

Google APIsのプロジェクトを作成

以下のように、プロジェクト・リストのダイアログから、NEW PROJECTのリンクをクリックして、新しいプロジェクトを作成します。

必要なライブラリを有効化

必要なライブラリを有効化します。以下のようにメニューをたどって、ライブラリのページに移動します。

ライブラリのページの検索機能で、以下のライブラリを検索し、それぞれのページでEnableボタンをクリックして有効化します。

  • Google Sheets API
  • Google Drive API
  • BigQuery API
  • Google Analytics APIのための以下の4つのライブラリ
    • Google Analytics API
    • Google Analytics Admin API
    • Google Analytics Data API
    • Analytics Reporting API

OAuth同意画面を設定する

ユーザーに対して表示されるOAuthの同意画面に関する設定を行います。以下のようにメニューをたどります。

ユーザータイプを設定

ユーザータイプとして、Internalを選択します。これは、ご使用されているGoogle Appsのユーザー、つまり先程からの例で言えば、 といったGoogle Appsのemailアドレスを持っているユーザーのみを対象としたAppであるという意味です。

Externalにすると、一般のユーザーを対象にできますが、この先の設定でGoogleからの許可を待つ必要が出てしまったりするので、ここではInternalとして設定を進めます。

Createボタンをクリックすると、OAuth同意画面の設定のためのフォームが表示されます。

Appの名前を設定

登録するAppの名前を設定します。ここで設定した名前が、ユーザーに対して表示される、OAuth同意画面上で使用されます。

利用するScope(権限)を設定

同じ画面の、Add Scopeボタンをクリックします。

表示されるダイアログ中で、以下のScopeを選択します。

  • /auth/spreadsheets.readonly
  • /auth/drive
  • /auth/spreadsheets
  • /auth/analytics.readonly
  • /auth/bigquery
  • /auth/cloud-platform
  • /auth/devstorage.read_write

もし選択肢にこれらのScopeがない場合は、これ以前のステップで、ライブラリが有効にしてあるかを確認してください。また、SSLを設定していないと、これらのScopeを利用することができませんので、確認してください。

Authorized Domainの設定

同じ画面上の、Authorized Domainsに、使用する、所有権証明ずみのドメインを追加します。これまでの例でいうと、yourcompany.comを追加することになります。ドメインを入力後にエンターキーを押す必要があります。

同意画面上の各種リンクの設定

同じ画面上の以下の設定は、同意画面上に表示するリンクです。

これらは自由に設定できますが、ここではExploratoryサーバー(オンプレミスまたはホステッド)のトップページのリンク(例:https://collabserver.yourcompany.com )を設定しておきます。

  • Application Homepage link
  • Application Privacy Policy link
  • Application Terms of Service link

以上で同意画面の設定は終了です。Saveボタンをクリックして設定を保存します。

OAuth Client IDの作成

Exploratoryサーバーのために使用するOAuth Client IDを作成します。これは、Google APIのAppとしてのExploratoryサーバーのIDとパスワードです。

以下のようにメニューをたどって、Credentials設定画面に移動します。

そこからCREATE CREDENTIALSメニューをたどって、OAuth Client IDを作成します。

Application typeとして、“Web Application”を選択します。

以下のようにフォームが表示されます。

表示されたフォームに以下の3つの情報を設定します。

  • Name - このOAuth Client IDの表示名。(Google APIsの管理画面上のみでの表示名なので、どのような名前でも構いません。)
  • Authorized JavaScript origins - ExploratoryサーバーのURLを設定します。例:https://collabserver.yourcompany.com
  • Authorized redirect URIs - Collatoration Serverのホスト名に、/oauthcallbackを追加したURLを設定します。例: https://collabserver.yourcompany.com/oauthcallback

Createボタンをクリックすると、OAuth Client IDが作成され、以下のように表示されます。

このあとの設定で必要となる、以下の2つの情報が表示されていますので、これらの文字列を控えておきます。

  • Client ID
  • Client Secret

Google OAuthトークンのセッションの期間を管理する

Google OAuthトークンのセッションの期間を効果的に管理するには、次の手順に従います。

  1. Googleワークスペースの管理コンソールに移動します
  2. 「セキュリティ」の「アクセスとデータ管理」にある「Google Cloudセッションの管理」を選択します。
  3. ユーザーに再認証が必要な場合は、「再認証を要求する」のラジオボタンを選び、会社のポリシーに従って再認証の頻度を調整します。
  4. または、Exploratoryサーバーを再認証から除外したい場合は、「信頼できるアプリは免除する」のチェックボックスをオンにします。Exploratory サーバーを信頼できるアプリのリストに追加して、シームレスな操作を確保します。

Exploratoryサーバーの設定

ホステッド・サーバーを利用している場合

ホステッド・サーバーを利用している方はここまでの設定が完了しましたら、貴社の担当者または、サポート窓口()まで、ご連絡ください。

オンプレミス・サーバーを利用している場合

オンプレミス・サーバーの圧縮ファイルを展開してできた、“exploratory” というディレクトリの直下にあるdocker-compose.ymlファイルのexploratoryコンテナのenvironmentの項目リストに、以下の3項目を追加します。

  • EXPL_GOOGLE_OAUTH_CLIENT_ID - 先程取得したOAuth Client ID
  • EXPL_GOOGLE_OAUTH_SECRET - 先程取得したClient Secret
  • EXPL_OAUTH_CALLBACK_HOST - このCollaboration Serverで使用するホスト名

設定例:

以上の設定のあと、オンプレミス・サーバーを再起動すると、OAuthを通してのGoogle Sheets、Google Analytics、Google BigQueryへのアクセスが可能となります。

Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio