これについての議論の欠如から、私はここでポイントを逃したかどうか確信が持てませんが...
カスタム メニューを介してスプレッドシートを使用および表示するユーザーがいて、保護設定を管理し、API (視覚化クエリなど) を実装するために、このアプリを Web アプリとして展開する必要がある場合、アーキテクチャはどのように見える必要がありますか? 私がここで読んだことによると、メニューは表示されません。
これについての議論の欠如から、私はここでポイントを逃したかどうか確信が持てませんが...
カスタム メニューを介してスプレッドシートを使用および表示するユーザーがいて、保護設定を管理し、API (視覚化クエリなど) を実装するために、このアプリを Web アプリとして展開する必要がある場合、アーキテクチャはどのように見える必要がありますか? 私がここで読んだことによると、メニューは表示されません。
Google で熱心に検索して多くのさまざまなリソースをつなぎ合わせた結果、SpreadsheetApp カスタム メニューから実際に WebApp を起動できることを発見しました。これはまったく難しくありません。
WebApp を通常どおりデプロイし、スクリプトの [プロジェクト プロパティ] ファイル メニュー オプションを使用して [プロジェクト キー] を取得するだけです。ここで説明されているように、これをクライアント SpreadsheetApp の [ライブラリを検索] ボックスにコピーして貼り付けるだけです。
ライブラリがインストールされたら、カスタム メニューを追加して、ライブラリの doGet() を呼び出し、アプリ オブジェクトを返し、クライアントの SpreadsheetApp に表示することができます。
function Shoo() {
var app = FooManShoo.doGet();
SpreadsheetApp.getActiveSpreadsheet().show(app);
}
function onOpen() {
var entries = [{name : 'man', functionName : 'Shoo'}];
SpreadsheetApp.getActiveSpreadsheet().addMenu('foo', entries);
}
これが他の誰かに役立つことを願っています! :)