私は、訪問者がサイトで興味深い行動をとったときにサイト所有者に ping を送信するための非常に単純なツールに取り組んでいます (具体的には、ゲストブックのコメントを投稿するため、コードはゲストブック アプリにあります)。
とにかく、対象のコードは次のようになります。
var siteOwners = SitesApp.getActivePage().getOwners();
for (var i = 0; i < siteOwners.length; i++) {
GmailApp.sendEmail(siteOwners[i].getEmail(), "Comment added to your site", "ping");
}
もちろん問題は、このコンテキストでは SitesApp.getActivePage() と SitesApp.getActiveSite() の両方が null を返すことです。
UiService と GUIBuilder の両方が遅すぎるため、新しい疑似 GUI アプリ コンテナーを使用するのではなく、ユーザー インターフェイスとして HTMLService を使用して doPost(e) メソッド内からすべてを実行しているため、これがすべて発生している可能性があります。使用できるようにします (基本ページのレンダリングとゲストブック インターフェイスのレンダリングの間に約 10 秒)。
特に「ここにアクセスしてこのホワイトペーパーを読んで、appscript のアプリケーション環境を理解する」ことが含まれる場合は、アドバイスやアイデアが役立ちます。