代码之家  ›  专栏  ›  技术社区  ›  Ryn

当我尝试授权自己的代码时,谷歌应用程序脚本给出错误“出了问题”

  •  0
  • Ryn  · 技术社区  · 2 年前

    我是谷歌应用程序脚本的新手,所以如果这是一个非常基本的问题,我很抱歉。我试着搜索类似的问题,但是 the closest I could find 没用。 This person 从两年前开始,似乎有一个非常相似的问题,但没有列出任何解决方案。

    我正在使用我的个人谷歌账户,并试图使用简单的代码来自动格式化我创建的谷歌表格电子表格。我没有试图与其他人共享访问权限。最小的可复制示例是打开一个新的电子表格,单击工具栏中扩展下的“应用程序脚本”,将其粘贴到代码编辑器中,单击“保存”,然后单击“运行”:

    function Untitled() {
        var mySS = SpreadsheetApp.getActiveSpreadsheet();
    }
    

    当我运行它时,它说我必须给它权限,所以我在弹出窗口中点击我的谷歌帐户。 This window 出现,就像我链接的第一篇帖子中一样,说“谷歌还没有验证这个应用程序”:

    我单击“高级”,然后单击“转到无标题项目(不安全)”,但随后 a small black window 出现在弹出窗口的左下角,上面写着“出了问题。请再试一次。”

    我已经尝试过清除我的浏览器缓存/cookie/数据,这可能会有所帮助。我也试过查看我的谷歌账户设置,但没有立即看到任何会影响这一点的内容。无论电子表格是只对我列出为私人的,还是对任何有链接的人都可以编辑的公共的,都会发生这种情况。

    我还试着添加 /* @OnlyCurrentDoc */ 在函数的正上方,在上面链接的第一个问题的较低答案中提到了这一点。这似乎给我带来了更大的进步,给了我 the 'this page is requesting these permissions' message ,但当我单击“允许”时,它会给我 a similar error message

    有人知道为什么它不允许我允许它吗?或者,是否有其他方法可以在不需要获得权限的情况下实现自动工作表格式设置?非常感谢。

    1 回复  |  直到 2 年前
        1
  •  1
  •   catfriendly    2 年前

    我有很多为我的电子表格编写的应用程序脚本,但从未遇到过这种情况。我通过在AppsScript编辑器中单击“运行”测试了您的工作流,果然我得到了弹出的权限(我以前从未见过)。我有一个你可以使用的变通方法。请尝试在电子表格中而不是在AppsScript中进行测试。例如,将以下内容添加到代码中:

    function onEdit(e) {
      Browser.msgBox('testing');
    }
    

    这是一个在任何时候编辑电子表格时都会触发的函数。 https://developers.google.com/apps-script/guides/triggers/

    然后返回到脚本所绑定的电子表格,并在其中一个单元格中键入内容,从而触发编辑。你应该得到一个弹出窗口,上面写着“测试”,这会让你知道AppsScript已经连接并正在工作。从这里,您可以通过消息框继续调试,并根据需要编辑脚本。

    也许错误是因为你在编辑器中没有通过电子表格运行它。那部分我不知道。