2

您好
我的问题如下:我想创建一个小型网页,可以在其上在 Google 日历中创建活动,但有一些限制。就我而言,这个日历可以由我的室友编辑以预订洗衣机。此预订不能重叠,而且我们所有人都可以使用它的天数有限。
我创建了私人日历,并且创建了验证请求的脚本,如果一切正常,则将事件添加到日历中。该脚本以我的身份执行(因为只有我有权编辑此日历)。但是我在获取执行此脚本的用户(我或我的一个室友)的信息时遇到问题。会话类包含 2 个方法 getActiveUser() 和 getEffectiveUser() 但活动用户不起作用(我猜是因为隐私保护政策)。但是,如果我创建另一个以访问网络的用户身份执行的脚本,我可以获得活跃用户。
有谁知道是否可以在嵌入同一站点的这两个脚本之间以某种方式进行通信?我想将活动用户的电子邮件从一个脚本传递到另一个脚本。或者也许你知道如何解决这个问题的更好的解决方案?

问候亚当

4

2 回答 2

3

正如您所注意到的,您需要将脚本设置为在用户访问它以获取他的电子邮件时运行。然后,您可以调用另一个已发布的脚本,而不是直接访问日历(您显然不能),但以您自己的身份运行允许匿名访问,该访问将从“查看”脚本接收此请求并为其创建日历事件。

发布此“背景”脚本后,获取它的 url 并在UrlfetchApp.fetch调用它时使用它。然后将参数作为 url 参数传递(如果您更喜欢使用post而不是,则在有效负载上传递get)。

后台脚本甚至可以使用ContentService为调用脚本提供良好的返回值。

于 2012-11-14T01:03:33.257 回答
0

当然,你可以这样做,但这并不像你想要的那么简单。让您的管理员级脚本运行响应其他脚本的 Web 服务。它可能会被黑客入侵,因为您无法验证用户身份,但常见的是,这是一台洗衣机!

于 2012-11-14T00:31:58.200 回答