【问题标题】:Google Forms with script transfer of ownership still runs script as previous user具有所有权脚本转移的 Google 表单仍以以前的用户身份运行脚本
【发布时间】:2015-04-30 05:35:27
【问题描述】:

我在一个响应表单提交的电子表格中制​​作了一个谷歌脚本。它会修改文件、制作 pdf 文件并将该 pdf 文件通过电子邮件发送给特定的人。这是为其他人制作的,然后我转让了所有权。但是,对发送的这些文件和电子邮件的编辑仍然出现在我的电子邮件下。如何将文件夹及其中的所有内容完全转移给同一域中的不同用户,以便他们成为发送电子邮件和修改文件的人?

【问题讨论】:

  • 您可以将代码中的电子邮件更改为预期的收件人。
  • 是的,它会发送给我将其更改为的人。但是,我仍然发送电子邮件,而不是像我想要的那样发送文件的所有者。

标签: google-apps-script google-sheets google-forms


【解决方案1】:

您需要进入脚本并添加一个调用 ScriptApp.invalidateAuth
https://developers.google.com/apps-script/reference/script/script-app#invalidateAuth() 的函数,然后使用新帐户调用任何函数(如 doGet)以重新验证

【讨论】:

  • 您介意解释一下 invalidateAuth 的作用以及一次性授权的含义吗?我了解如何为 invalidateAuth 创建一个函数,但我如何创建另一个函数来重新授权它?非常感谢:)
  • 按照我的回答重新授权调用 doGet。
  • 这是正确的,文档中根本不清楚。没有这个,即使“运行这个脚本”也没有效果。
【解决方案2】:

如何将文件夹及其中的所有内容完全转移到同一域中的不同用户

当您转移文件和文件夹的所有权时,它们中的所有内容都会被转移。

...所以他们是发送电子邮件和修改文件的人?

但是,您之前设置的触发器属于您的帐户,而不是关联的脚本。

您有几个选项可以阻止这些触发器像您一样运行。

  1. 禁用特定的可安装触发器。

    如果您仍然可以访问有问题的脚本,请在脚本编辑器中打开它,转到resources > Current project's triggers,然后禁用触发器。完成。

    如果您无法再访问该脚本,请在您的任何脚本上打开脚本编辑器,转至 resources > All your triggers,并禁用触发器(如果您可以识别它们)。如果您在多个脚本中为触发器函数使用相同的名称,这可能会很有挑战性,因为这里没有说明它们来自哪个脚本。

  2. 取消对违规脚本的授权。

    正如 Zig 的回答所描述的,如果您仍然可以访问有问题的脚本,则可以添加一个功能来撤销授权,然后从您的帐户运行它

    或者,您可以查看您已授权的所有脚本,并直接撤消访问权限。转到您的Account Settings 页面,然后在已连接的应用程序和服务下选择“查看全部”,或使用this link

    选择有问题的脚本,然后单击“撤消访问权限”。完成!

要让脚本在新所有者的帐户下运行,您需要重复为您设置的所有步骤,包括从他们的帐户授权。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多