2

我正在开发一个非常简单的工具,当访问者在网站上进行有趣的行为(特别是发布留言簿评论,因此代码在留言簿应用程序中)时,它可以 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。

可能这一切都发生了,因为我没有使用较新的伪 GUI 应用程序容器,而是在使用 HTMLService 作为用户界面的 doPost(e) 方法中完成这一切,因为 UiService 和 GUIBuilder 都太慢了可用(在呈现基本页面和呈现留言簿界面之间大约 10 秒)。

任何建议或想法都会有所帮助,特别是如果它涉及“去这里阅读本白皮书以了解 appscript 的应用程序环境”。

4

1 回答 1

0

类的getOwners()方法page[]不存在。查看页面类文档

getAuthors()方法确实存在,也许您可​​以将其用作解决方案。

function doGet(e) {
var app = UiApp.createApplication().setTitle("site owner");
var siteOwners = SitesApp.getActivePage().getAuthors();
 app.add( app.createLabel(siteOwners.length))
 for (var i = 0; i < siteOwners.length; i++) {
   app.add(app.createLabel( siteOwners[i]));
 }
return app.close();
} 

这在没有邮件的情况下为我完成了工作。

工作示例

于 2013-01-10T01:29:19.657 回答