3

そのため、onOpen/onInstall 関数を使用してメニューをロードしたり、いくつかの小さな起動処理を実行したりする Google Apps Scripts がたくさんあります。彼らは皆、かなり長い間ギャラリーで働いています。

最近、正確な時期はわかりませんが、Google が更新した何かが次のような問題を引き起こしました。

  1. OnOpen は常に開いているとは限らない
  2. OnInstall は起動しますが、スクリプト内の関数にアクセスできません。具体的には、メニュー項目を選択しようとすると、Apps Scripts は関数が存在しないというエラーを表示します (ただし、存在します)。

ユーザーにとって信じられないほどくだらない回避策があります: スクリプトを 2 回インストールします。どういうわけか、これは登録された機能を取得し、onInstall はメニューをロードします。ただし、これはシートが閉じられるまでしか機能しません。その後、再度インストールする必要があります。

だからここに私の質問があります:

  1. 他の人がこの問題を抱えていますか? 彼らは回避策を見つけましたか?
  2. これは Google が認識しており、修正されていることですか?
  3. これがいつ起こったのか知っている人はいますか?

最後に、本番環境でスクリプトの API を「凍結」するというアイデアを提案したいと思います。すなわち。API バージョン XXX を使用していることを示す変数を一番上に配置し、それが Apps Script を起動する API であることを示します。Google の更新によって壊れたスクリプトを本番環境で使用したのは、これが 3 回目です。ある時点で、何かを世に出すとき、それが機能し続けることを知ることができる必要があります. ユーザーは私たちの間違いと API のバグを区別しません。つまり、私たちはこの種の問題から熱を奪っています。

4

1 に答える 1

0

バグのように見える

外部からロードされたスクリプトにトリガーがアタッチされているバグのようです。これを修正する 1 つの方法は、onOpen イベント トリガーを手動で追加および削除することです。

注: コード内に onOpen が存在するとトリガーが暗黙的に追加されるため、トリガーを保持する必要はありません。

「スクリプト ギャラリー」でリリースしたスクリプトでも同じ問題が発生しています。

onInstall トリガーに関しては、Google が修正するまでは SOL だと思います。

于 2013-02-01T21:25:53.073 に答える