我似乎无法使用 Google Apps 脚本驱动器服务访问我的 Google 驱动器。 这:
DriveApp.getFolderById('1Evf...Kein')
不返回任何值,只是 null。
例如,我的库中的这个函数曾经可以工作,但现在在调用 DriveApp 时不返回任何内容:
function getFileByNameInFolder(folderID, fileName) {
var folder = DriveApp.getFolderById(folderID);
var files = folder.getFiles();
console.log(folder);
console.log(files);
while (files.hasNext()) {
console.log(file.getName());
var file = files.next();
if (file.getName() == fileName) {
return file;
}
}
return undefined;
}
控制台结果:
对 DriveApp 服务的任何使用都会被阻止。
我尝试使用独立的应用程序脚本和纸张装订的应用程序脚本 - 不起作用。
我确信它对于我过去的项目来说是有效的!
仔细阅读,Google 是否有可能阻止使用这些服务,除非您使用这些服务的付费帐户(Google Workspaces 或 Google Cloud)?
还是我还漏掉了其他东西?
您的 DriveApp 服务并未停止工作。根据你的代码, 预计
console.log(folder);
和 console.log(files);
将在执行日志中显示 {}
,因为您没有使用 console.log(formatOrObject, value) 在执行日志中成功记录 Apps 脚本对象。
使用控制台显示 {}
console.log(folder);
并不意味着 DriveApp 服务不工作。您可以通过将其替换为 Logger.log(folder)
来验证这一点。您的代码失败的主要问题是因为您调用了 console.log(file.getName());
,而 file
变量尚未使用 Folder 对象定义/初始化(files.next()
的返回)。
应该是这样的:
while (files.hasNext()) {
var file = files.next();
console.log(file.getName());
if (file.getName() == fileName) {
return file;
}
}
我的问题是 DriveApp 服务停止工作。
嘿,这个问题有解决办法吗?我可以运行我的脚本,但同事无法运行。我尝试为它们进行调试 - MyDrive 已作为我的文件夹正确返回,但它们的相同代码返回 undefined