2 つの部分で構成されるアプリがあります
- ユーザーのマシンで実行されるインストール済みアプリケーション (より具体的には、ブラウザー アドオン)、および
- を使用してスタンドアロンの Google Apps Script アプリとして実装された Web アプリ
HtmlService
。
この 2 つの部分は互いに通信し、両方とも Oauth を介してユーザーに代わっていくつかの Google API にアクセスします。これを行うために、Google API コンソールで API プロジェクトをセットアップしました。「API アクセス」セクションでは、ブラウザー アドオン用に「インストール済みアプリケーション」タイプのクライアントを作成しました。Apps Script 部分については、Google が承認フローを自動的に処理します。
私の問題は、これら 2 つのクライアントが同じプロジェクトの一部であることを Google が認識していないことです。したがって、ユーザーはアプリを初めて実行するときに、 2 つの認証手順を続けて実行する必要があります (最初に、ブラウザー アドオンの Oauth プロセス、次に Google Apps Script から自動生成された認証プロセス)。特に、ブラウザー アドオンと Web アプリの間の分割は、ユーザーが実際に気にする必要のない実装上の詳細であるため、これはユーザーを非常に混乱させます。
2 つの承認フローを統合する方法はありますか? Google API コンソールで、複数の異なるクライアントを 1 つのプロジェクトに追加できることを知っています。この機能は、複数のアプリケーションがユーザーによって単一のサービスとして認識されるものを構成する、私のようなシナリオを明示的に意図しているように思えます。残念ながら、Google Apps スクリプトで実装された Web アプリは、Apps Script が承認フローを自動的に生成する方法が原因で、Google API コンソールと互換性がないようです。または、API コンソールまたは Apps Script エディターにオプションがありませんか?