新しい Google サイトに埋め込もうとしているスタンドアロンの Google Apps Script Web アプリを作成しました。Apps Script プロジェクトの作成に使用したアカウントにサインインすると、正しく動作します。ただし、ウェブ アプリをまだ承認していない別のアカウントにログインしている場合、Google サイト ページは読み込まれますが、Apps Script プロジェクトが埋め込まれた iFrame は正しく読み込まれません。
代わりに、iFrame には「accounts.google.com が接続を拒否されました」と表示され、コンソールには「表示を拒否されました」と表示されますhttps://accounts.google.com/ServiceLogin?passive=1209600&continue=https%3A%2F%2Fscript.google.com %2Fmacros%2Fs%2FAKfycbzizTNkflSXZbKSF8TTxTR5QoF4LAhPPuSq-1juFdIOdL_IlFM%2Fexec&followup=https%3A%2F%2Fscript.google.com%2Fmacros%2Fs%2FAKfycbzizTNkflSXZbKSF8TTxTR5QoF4LAhPPuSq-1juFdIOdL_IlFM%2Fexec ' in a frame because it set 'X-Frame-Options' to 'deny' ."
私が理解しているように、新しいユーザーは Apps Script Web App に対して承認されていないため、承認フローがトリガーされます。ただし、承認フローが Google サインイン ページ (上記のhttps://accounts.google.com/ServiceLogin ?... ) を読み込むことによって開始されると、サインイン ページの X-Frame-Options ヘッダーが拒否に設定します。
HTMLoutput.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL) ( https://developers.google.com/apps-script/reference/html/html-output#setxframeoptionsmodemodeを参照) を試してみましたが、問題の原因はかなり確実です正しく読み込まれない Google サイトの iFrame は、私のアプリではなく、Google のサインオン ページです。
Google サイトへのリンク: https://sites.google.com/view/create-user-filter-views/home
Apps Script Web アプリへのリンク: https://script.google.com/macros/s/AKfycbzizTNkflSXZbKSF8TTxTR5QoF4LAhPPuSq-1juFdIOdL_IlFM/exec
Apps Script を新しいサイトに埋め込む方法に関する Google のドキュメント: https://developers.google.com/apps-script/guides/web#embedding_a_web_app_in_new_sites
Google サイトから自分のウェブ アプリケーションへの新しいユーザーを承認するにはどうすればよいですか。
最初に公開済みアプリのスクリプト サイトに誘導して承認フローを通過させてから、Google サイトに戻るように誘導する必要がありますか (これは明らかにひどいオプションです)。