【问题标题】:Creating time-based trigger from WebApp从 WebApp 创建基于时间的触发器
【发布时间】:2012-10-03 15:23:41
【问题描述】:

我正在尝试从作为 WebApp 发布的 Google Apps 脚本创建基于时间的触发器。

更新:此 WebApp 应以访问它的用户身份运行,而不是以 Apps 脚本所有者身份运行。

每当我尝试访问 ScriptApp 服务时,我都会在前端收到错误消息:

需要授权才能执行该操作。

重现此的示例代码是:

function doGet(request) {
  ScriptApp.newTrigger('test');
  return ContentService.createTextOutput("OK");
};

function test() {
  // noop
}

这是不可能的吗?是否有可能以某种方式自动添加一个触发器,该触发器根据用户授予授权的时间运行方法?

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    您的网络应用程序在什么凭据下运行?作为运行应用程序的用户或您自己。 从错误来看,它看起来像是在作者的凭据下运行的。 在这种情况下,您应该在分发 URL 之前明确授权应用程序。为此,请打开脚本编辑器并选择任何函数,然后尝试使用脚本编辑器中的小“播放”按钮运行该函数。系统会要求您提供权限,之后您才能使用 Ui 应用程序

    【讨论】:

    • 抱歉,我希望它以运行应用程序的用户身份运行,而不是以我自己的身份运行。如果我在脚本编辑器中授权它,它对我来说很好,只是对其他人无效。在我的问题中更新了它,因为它丢失了。
    • 您的问题完全正确 - 我的 WebApp 是在我自己的凭据下运行的...对于遇到此问题的其他人,请参阅此处:evernote.com/shard/s5/sh/d942fe24-2505-4694-ab3d-bebf5a5518c3/…
    • 这是否意味着如果您使用 webapp 创建触发器,触发器将在用户的帐户中运行??
    • @ThomasvanLatum - 是的,就是这样!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多