【问题标题】:DriveApp Access DeniedDriveApp 访问被拒绝
【发布时间】:2018-10-24 19:36:55
【问题描述】:

我有一个附加到表单的 Google 脚本,它可以做很多不同的事情,但最终会创建几个工作表副本。

该过程几个月来一直运行良好,但最近在使用 File.makeCopy 方法时出现以下错误 (https://developers.google.com/apps-script/reference/drive/file#makecopyname-destination)

 function createTest()
{
  var templateFile = DriveApp.getFileById("ID");
  templateFile.makeCopy("NAME", DriveApp.getFoldersByName("FOLDERNAME").next())
}

拒绝访问:Drive 应用(在 templateFile.makeCopy 行上)

我已确保添加了 Drive 范围,并且没有可能导致此问题的 GSuite 设置(例如 DriveApp 被禁用)。

我找不到一个好的答案来解释为什么这会在过去几天停止工作。欢迎任何想法!

【问题讨论】:

  • appsscript.json(清单)文件中添加了什么范围?
  • 1. 叫什么名字? 2. 目的地是什么? 3.你可以到达目的地吗? 4. Drive 中有足够的可用空间吗? 5.您每天创建了多少张? 6.能否手动复制(1)同名和(2)在同一个目的地?
  • 范围:googleapis.com/auth/drive(等等)。 - 名称/目的地:尚未更改名称或目的地。我可以完全访问目的地。 - 手动复制适用于从方法复制的名称和目的地。 - 驱动器空间不是问题,从目的地删除所有内容并且问题仍然存在。 - 以这种方式创建的表格,~10。
  • 虽然我不确定这是否会导致直接的解决方案,但你能提供最新的脚本来解决这个问题吗?当然,请从中删除个人信息。顺便说一句,您可以使用DriveApp检索文件的文件名和fileId吗?
  • 您是否尝试过在另一个脚本中使用 driveapp 运行简单的语法?这会产生同样的错误吗?

标签: google-apps-script google-drive-api


【解决方案1】:

我不知道这是否仍然相关,但由于我遇到了完全相同的问题而没有答案,所以我碰巧使用了错误的文件 ID。因此,如果您运行此代码,请务必仔细检查访问的 id。

另外:确保DriveApp.getFoldersByName("FOLDERNAME").next() 中的文件夹迭代器实际上下一个,因此在您的根文件夹中有一个名为“FOLDERNAME”的文件夹。否则你会调用一个未定义的对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 2021-03-06
    • 2011-05-15
    • 2010-09-06
    • 2014-03-22
    • 2013-08-10
    • 2018-04-20
    相关资源
    最近更新 更多