第11章 Google アプリケーションへの接続
インテグレーションは、Google アプリケーションである Gmail、Google カレンダー、および Google スプレッドシートに接続できます。詳細は以下のトピックを参照してください。
11.1. Fuse Online を Google クライアントアプリケーションとして登録
インテグレーションで Gmail、Google カレンダー、または Google スプレッドシートへの接続を可能にするには、Fuse Online 環境を Google クライアントアプリケーションとして登録する必要があります。登録中に、Google API を有効にします。さらに、有効にした Google API へアクセスするために Fuse Online が使用するクレデンシャルも作成します。
登録を完了すると、Gmail、Google カレンダー、および Google スプレッドシートへのコネクションを複数作成することができます。各コネクションを複数のインテグレーションで使用することができます。Google アプリケーションへの各コネクションは、登録中に取得する同じ Google クライアント ID と Google クライアントシークレットを使用できますが、各コネクションはユーザーが選択する別の Google アカウントにアクセスすることもできます。
この手順では、Gmail API、Google Calendar API、および Google Sheet API を有効にしますが、3 つの API すべてではなく必要な API のみを有効にすることができます。ただし、3 つすべての API ではなく、必要な API のみを有効にします。API を有効にしなかったアプリケーションへのコネクションを後で作成する必要がある場合は、この手順にしたがって API を有効にすることができます。
Fuse Online 用の新しい Google クライアントアプリケーションを作成する必要があります。Google が新しいクライアントアプリケーションに提供するクレデンシャルには、期限切れのアクセストークンを更新するために使用される更新トークンが含まれています。この更新トークンは、Fuse Online クライアントアプリケーションがクレデンシャルを初めて使用する場合のみ使用できます。Fuse Online では、Gmail、Google カレンダー、および Google スプレッドシートへのコネクションはすべて同じ Google クライアント ID および Google クライアントシークレットを使用することができます。この場合、更新トークンは Google アプリケーションへのすべてのコネクションに対して使用できます。Fuse Online ユーザーインターフェイスでコネクションの詳細を表示するときに、Validate ボタンをクリックしないでください。検証はクレデンシャルを 2 回目に使用することになり、更新トークンはクライアントクレデンシャルの一部ではなくなります。ただし、Google アプリケーションに再接続することはできます。
開発環境で、Fuse Online ではない他の OAuth クライアントで使用している Google クライアント ID および Google クライアントシークレットを使用する場合は注意してください。Fuse Online はオフラインのアクセスを必要とし、そのアクセスは最初の OAuth の交換で要求されます。他の OAuth クライアントがすでに OAuth の交換を行い、オフラインのアクセスを要求しなかった場合、Fuse Online は後続の OAuth の交換でオフラインのアクセスを取得することはできません。最初の交換でオフラインアクセスの要求があったことを確認できない場合は、Fuse Online の新しい Google クライアントアプリケーションを作成してください。
前提条件
- Fuse Online を Google クライアントアプリケーションとして登録するために使用する Google アカウントにログインできる必要があります。
手順
Fuse Online で以下を行います。
- 左側のナビゲーションパネルで Settings をクリックします。
- Settings ページで、上部付近にあるコールバック URL の右側で をクリックし、Fuse Online 環境のコールバック URL をクリップボードにコピーします。この手順の後半でこの URL が必要になります。
別のブラウザータブで
https://console.developers.google.com
にアクセスし、以下を行います。Fuse Online を Google クライアントアプリケーションとして登録するために使用する Google アカウントにログインしていることを確認します。または、別の Google アカウントを選択し、そのアカウントにログインします。
Google API のページの上部に現在の Google プロジェクトの名前が表示されます。
- 現在のプロジェクトを使用して、Fuse Online へ承認を付与するには、次のステップに進みます。別の Google プロジェクトで Fuse Online へ承認を付与するには、そのプロジェクトを選択または作成します。Google アカウントに既存のプロジェクトがない場合は、作成する必要があります。
Google API を有効にします。
- 左上隅で をクリックし、API and Services > Library を選択します。
- 必要な場合は下方向にスクロールし、G Suite 行のカードを確認します。
- Google Calendar API カードをクリックすると、Google Calendar API が有効になっていることを示すページが表示されます。
- 下方向にスクロールして Gmail API カードをクリックすると、Gmail API が有効になっていることを示すページが表示されます。
- 左上隅で をクリックし、API and Services > Library を選択します。
- 必要な場合は下方向にスクロールし、G Suite 行のカードを確認します。
- Google Sheets API カードをクリックすると、Google Sheets API が有効になっていることを示すページが表示されます。
クライアントアプリケーションに名前を付けます。
- MANAGE をクリックします。
- 表示されるページの左側のナビゲーションパネルで Credentials をクリックします。右側にある Credentials in APIs & Services をクリックします。
- OAuth consent screen タブをクリックします。
-
表示されるページの Application Name フィールドに Fuse Online クライアントアプリケーションの名前を入力します。たとえば、
Fuse Online client application
を入力します。 - 他のフィールドは無視します。
- Save をクリックします。
以下のようにクライアントアプリケーションのクレデンシャルを取得します。
- Create Credentials の右側の下矢印をクリックしてメニューを表示し、OAuth client ID を選択します。
- 表示されるページで Web application を選択し、その他のコンテンツを表示します。
-
Name フィールドに、Fuse Online 環境の OAuth クライアント ID の名前を入力します。これは、クライアントアプリケーション自体に入力した名前とは異なります。たとえば、
OAuth client ID for Fuse Online
を入力します。 - Authorized JavaScript origins は無視します。
- この手順の最初で Fuse Online 環境からコピーしたコールバック URL を Authorized redirect URIs フィールドに貼り付けます。
- Create をクリックして、Fuse Online 環境のクライアント ID とシークレットを表示します。
- クライアント ID フィールドの右側で をクリックし、クライアント ID をクリップボードにコピーします。
Fuse Online Settings ページに戻り、以下を行います。
- Gmail、Google カレンダー、および Google スプレッドシートのエントリーを展開します。
- 各 Google アプリケーションの Client ID フィールドに、コピーした Google クライアント ID を貼り付けます。
- Google の開発者サイトに戻り、クライアントシークレットフィールドの右側で をクリックし、クライアントシークレットをクリップボードにコピーします。
Fuse Online Settings ページに戻り、各 Google アプリケーションのエントリーで以下を行います。
- コピーした Google クライアントシークレットを Client Secret フィールドに貼り付けます。
- Save をクリックします。Registration Successful! という通知が表示されるはずです。
- エントリーを折りたたみます。
結果
有効にした各 Google アプリケーション API に対して、そのアプリケーションへのコネクションを作成できます。
Fuse Online から Google アプリケーションへのすべてのコネクションは、同じ Google クライアント ID と Google クライアントシークレットを使用します。
Google アプリケーションへのコネクションを持つインテグレーションが継続的に正しく動作するようにするため、Google クライアント ID と Google クライアントシークレットにはトークン更新情報が含まれます。そのため、新しいクレデンシャルを取得 しないでください。新しいクレデンシャルを取得すると、各 Google コネクションを再作成し、以前のコネクションを新しいコネクションに置き換え、Google コネクションを使用する各インテグレーションを再パブリッシュする必要があります。