Gスイート アプリケーションを構築する

プロジェクトを設定したら、あなたのWebアプリケーションを構築して動作させることができます。アーキテクチャの選択にかかわらず、次のことが必要になります。

  1. プロジェクトの設定時に作成されたID、クライアントシークレット、秘密鍵を保存する
  2. これらの保存されたデータを使用してアプリの認証フローを実装する
  3. アプリケーションがG Suite Marketplaceでの公開基準を満たしていることを確認する

以下のセクションでは、各アーキテクチャー・スタイルに対してこれらのステップを実行する方法を要約します。

APIアクセス情報を保存する

あなたのアプリには次の情報があることを確認してください:

  • Webサーバーアプリケーション:クライアントIDとクライアントの秘密
  • クライアントサイドアプリ:クライアントIDとクライアントシークレット
  • サービスアカウント:サービスアカウントクライアントIDおよびダウンロードされた秘密鍵

これらの項目のいずれかが見つからない場合は、Google API Consoleに戻り、取得してください。詳細は、「プロジェクト設定」セクションの手順を参照してください。

承認を実装する

アプリケーションの構築方法に応じて、以下のメソッドを使用して承認を実装することができます。

JavaScriptクライアントからGoogleサービスを使用する

クライアントサイドアプリの場合、次のようにGoogleサービスにアクセスします。

  • Google APIクライアントを使用してクライアント側の承認フローを実装する
  • クライアントIDとクライアントの秘密のJavaScriptライブラリ
  • Google+ログインボタンを使用すると、プロセスを簡単にすることができます。
  • 適切なGoogle APIを使用してGoogleサービスにアクセスします。

シンプルなWebサーバーアプリケーションからGoogleサービスを使用する

オンラインアクセスのみが必要なサーバーサイドアプリケーションの場合(ユーザーがいなくてもバックグラウンド処理やスケジュール処理は行われません)、次のようにGoogleサービスにアクセスします。

  • 適切なGoogle APIクライアントライブラリを使用してクライアントIDとクライアントの秘密情報を使用してサービスクライアントオブジェクトをインスタンス化します。
  • これらのオブジェクトを使用して、Webサーバー認証フローを実装します。
  • 適切なGoogle APIを使用してGoogleサービスにアクセスします。

オフラインでアクセスできるウェブサーバーアプリからGoogleサービスを使用する

ほとんどのアプリケーションでは、標準のOAuth 2 Webサーバー認証フローを使用してオフラインアクセスを取得できます。ドメイン管理者によって承認されたアプリケーションを承認すると、簡略化された同意画面が表示されます。これらのアプリケーションは、次のようにGoogleサービスにアクセスできます。

  • 適切なGoogle APIクライアントライブラリを使用して、クライアントIDとクライアントシークレットを使用してクライアントオブジェクトをインスタンス化します。
  • このオブジェクトを使用して、Webサーバー認証フローを実装し、アクセストークンからユーザーIDを取得します。
  • 適切なGoogle APIを使用してGoogleサービスにアクセスします。

対話なしにユーザーデータにアクセスする必要があり、ドメイン管理者の同意のみを必要とするアプリケーションでは、サービスアカウントを使用してアクセス権を取得する必要があります。Googleサービスには次のようにアクセスしてください:

  • サービスアカウントの認証フローを実装するために、サービスアカウントのクライアントIDとプライベートキーを使用して新しいクライアントオブジェクトをインスタンス化します。
  • 適切なGoogle APIを使用してGoogleサービスにアクセスします。

アプリケーションがG Suite Marketplaceの基準を満たしていることを確認する

GoogleのOAuth要件の最終目標は、ユーザーとドメイン管理者がGoogleアカウントとアプリケーションの間でシームレスな統合環境を確保できるようにすることです。G Suite Marketplaceのレビューチームは、すべてのアプリケーションを注意深く見直して、基準を満たしていることを確認します。アプリケーションを完成させたら、次の要件を満たす必要があります。

  • OAuth 2.0を使用する
  • ユーザーはOAuth Consent画面を1回だけ表示する必要があります。サービスアカウントを使用してドメイン管理者がドメインユーザーに代わって利用規約に同意する場合、エンドユーザーはOAuth Consent画面を表示してはなりません
  • SSOを使用して、アプリケーションの既存のユーザーに自分のアカウントにログインさせる
    • あなたのアプリケーションの新しいユーザーは、自分のGoogle資格情報を使って新しいアカウントを作成できるはずです。フルバージョンを取得できない場合は、試用版またはフリーミアム版のアカウントに誘導することは可能です

その他のリソース

OAuth2の実装に役立つその他のリソースは次のとおりです。

上記のドキュメントを参照しても技術的な質問が残っている場合は、Developer Relationsチームが監視するStackOverflowページをご覧ください