找不到 Google 云端硬盘页面 - 抱歉,目前无法打开文件

问题描述 投票:0回答:7

我正在使用谷歌脚本来部署网络应用程序。我已经在同一个帐户中完成了大约 5-10 次。当我尝试运行网络应用程序/脚本时,我现在收到:标题和消息中显示“Google Drive:找不到页面

抱歉,目前无法打开文件。请检查地址并重试。

我发布它以作为

所有者运行,但“任何人,甚至匿名”都可以访问。

然后我尝试使用

doGet()

 方法创建一个新的小项目,该方法返回一个小型静态网页,具有相同的结果。

代码.gs:

function doGet(e) { return HtmlService.createHtmlOutputFromFile('Test'); }

测试.html:

<!DOCTYPE html> <html> <head> <base target="_top"> </head> <body> This is a test </body> </html>

我尝试在我的个人帐户中发布上面相同的电子表格/代码,效果很好。由于我已经使用出现错误的帐户部署了一些 Web 应用程序,因此每个帐户的 Web 应用程序数量是否有配额?

我尝试了不同的浏览器、不同的帐户、重新发布、注销并重新登录。同样的错误消息。 “

使用最新代码测试您的网络应用程序”链接也失败。我可以直接在 IDE 中调用 doGet()

 方法,它工作正常,并且我在日志中看到输出。 

我在日志中没有看到任何有关找不到页面的错误,这正是我对找不到页面的期望 - 甚至没有执行代码,因此没有日志。

google-apps-script publish
7个回答
83
投票
我认为您使用两个 gmail 帐户登录:这就是为什么 (/u/1,/u/0) 可能已附加到脚本地址(可能是一个错误)。

所以你要做的就是删除 /u/0 或附加的任何内容。

例如:

https://script.google.com/macros/u/1/s/ffffsdds/exec 变为 https://script.google.com/macros/s/ffffsdds/exec


13
投票
我同时打开了多个 Gmail 帐户,并且一直遇到此问题。我发现关闭云端硬盘窗口、注销与其相关的电子邮件帐户,然后重新登录 Gmail 帐户并再次打开云端硬盘会有所帮助。


10
投票
您需要将您的组织域添加到 URL,如

https://script.google.com/a/yourdomain.com/macros/s/ffffsdds/exec

 所示 - 请注意,
a/domain.com
 已添加。如果您不使用自定义域,请使用 
a/gmail.com

当您登录多个帐户并重定向到

https://script.google.com/macros/s/ffffsdds/exec当您未登录特定域帐户时。

背景信息:

  1. https://script.google.com/macros/u/1/s/ffffsdds/exec

     - 如果您使用多个帐户登录则不起作用

  2. https://script.google.com/macros/s/ffffsdds/exec

    中 - “/u/x”已被删除,但如果您访问该网址,它仍然会重定向到
    https://script.google.com/macros/u/1/s/ffffsdds/exec 和 (1) 当您登录多个帐户时,问题仍然存在(但如果您不登录,它仍然有效)。


2
投票
看起来与此问题相关:

https://issuetracker.google.com/issues/69270374。多个登录帐户的身份验证已损坏。

正如 Google 开发人员建议的那样,您应该:

    注销所有帐户并仅使用 1 个帐户:或
  1. 使用隐身标签登录

来源(评论292).

可悲的是,正如他们所说:

最初报告的问题是由于最近表格处理多个登录帐户的能力得到了改进。

来源(评论11)

因此,通过改进多个登录帐户,他们也破坏了它。

现在是“好”消息:我们可以预计这个问题将在大约 1 年内得到解决。

我们的团队计划在 21 年第 3 季度开始为新的 Apps Script IDE 和容器绑定脚本提供多登录支持。

来源(评论292)


1
投票
以上所有答案都是相关的。但对我来说,问题是由于谷歌帐户空间不足。我已经使用了 Google 提供的全部 15GB 空间,然后我所有的 Google 表单开始显示上述错误。

解决方案是:

    从Google购买额外的空间,不会花太多钱。 100GB 的费用为 130 卢比/月或 1300 卢比/年
  1. 释放您的空间。浏览 Google 云端硬盘,您可能会发现很多不需要的文件。删除它并腾出一些可用空间。

0
投票
我遇到了这个问题,因为我没有登录多个帐户。 对我来说最终的问题是我正在使用 LockService,它似乎在某个地方被损坏了。

我添加了

const lock = LockService.getScriptLock(); lock.releaseLock();
在我的 doPost 函数之前,日志显示该函数无法执行。这似乎解决了问题。然后我可以从我的代码中删除这个片段,它会继续工作。

添加此内容以防其他人遇到此问题并且不想花几天时间来解决它。


0
投票
这个错误和用户认证逻辑肯定有关系。对我来说,我没有登录多个帐户,但它有助于将以下内容添加到

appsscript.json

{ ... "webapp": { "access": "MYSELF", "executeAs": "USER_DEPLOYING" } ... }
这应该迫使该项目始终可以由您自己访问。
在此之后,它就像一个魅力!

© www.soinside.com 2019 - 2024. All rights reserved.