google-apps-script - 如果没有付费帐户,就无法从 Google Apps 脚本访问 Google Drive?
问题描述
我似乎无法使用 Google Apps Script Drive 服务访问我的 Google Drive。This: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;
}
结果在console.lor中:
禁止使用 DriveApp 服务。
我尝试了独立的应用程序脚本和工作表绑定的应用程序脚本 - 不工作。
我确信它在过去对我过去的项目有效!
仔细阅读,除非您使用它们的付费帐户(Google Workspaces 或 Google Cloud),否则 Google 是否有可能阻止使用这些服务?
还是我错过了其他东西?
解决方案
您的 DriveApp 服务没有停止工作。根据您的代码,由于您没有使用console.log(formatOrObject, values)在执行日志中成功记录 Apps Script 对象,因此预计它将显示在执行console.log(folder);
日志中 console.log(files);
。{}
{}
使用控制台显示console.log(folder);
并不意味着 DriveApp 服务不工作。您可以通过将其替换为Logger.log(folder)
. 您的代码失败的主要问题是因为您调用了console.log(file.getName());
whilefile
变量尚未使用Folder对象定义/初始化(返回files.next()
)。
它应该是这样的:
while (files.hasNext()) {
var file = files.next();
console.log(file.getName());
if (file.getName() == fileName) {
return file;
}
}
推荐阅读
- html - 在使用 CSS 跟随兄弟选择器时遇到问题
- ios - 如何在钛框架中检测iOS的模型
- sql - 在当前组旁边的特定组中查找日期,避免不需要的组
- javascript - jQuery预先遍历元素的下一个孩子
- python-3.x - Tflite (TF2) 训练的模型正在运行但在 iOS 应用程序中未检测到
- java - 从 AWS lambda 中的 APIGatewayProxyRequestEvent 检索文件时,标头被添加到文件内容中
- powershell - PowerShell - 自动替换配置文件的条目
- sql - 查找 SQL 中的所有组合,包括重复项
- mysql - mysql查询以获取小于由另一个字段分组的限制的字段的总和
- pine-script - 计划风险:pinescript 中的奖励?