我有一个神经网络脚本,需要从JSON文件中训练数据,是否可以使用Google Apps Script将JSON文件保存到Google云端硬盘?
您可以使用高级驱动器服务。 在Google云端硬盘中创建文件有3个选项。
- 驱动应用 - 内置应用脚本服务
- 必须添加高级驱动器服务 - 特定于应用程序脚本。
- 驱动器 API - 必须使用 REST API 选项
目前,应用程序脚本同时具有旧版和新版代码编辑器。 在两个编辑器中启用高级驱动器服务是不同的。
旧版编辑器:
- "资源"菜单
- "高级谷歌服务">
- 在列表中找到"云端硬盘 API">
- 单击按钮将其打开
新编辑器:
- 点击左侧边栏中的"服务">
- 在列表中找到"云端硬盘 API",点击它
- 点击"添加"按钮
过去,您还需要在 Google Cloud Platform 中启用云端硬盘 API。 但现在你有两个选择。
- 使用"默认"Google Cloud 项目 - 您无需在 Google Cloud Platform 中显式启用云端硬盘 API。
- 创建一个新的"标准"Google Cloud 项目,并将其与您的 Apps Script 项目相关联。 您需要在 Google Cloud Platform 中启用云端硬盘 API。
如果Apps Script项目将被公众使用,那么您应该创建一个"标准"的Google Cloud项目,并在Google Cloud Platform中启用Google Drive API。
法典:
function saveAsJSON() {
var blob,file,fileSets,obj;
obj = {//Object literal for testing purposes
key:"value"
}
/**
* Creates a file in the users Google Drive
*/
fileSets = {
title: 'AAA_Test.json',
mimeType: 'application/json'
};
blob = Utilities.newBlob(JSON.stringify(obj), "application/vnd.google-apps.script+json");
file = Drive.Files.insert(fileSets, blob);
Logger.log('ID: %s, File size (bytes): %s, type: %s', file.id, file.fileSize, file.mimeType);
}
将@Brandon关于DriveApp
的评论扩展到一个单独的答案:
最简单的解决方案是:
const obj = { key: "value" };
DriveApp.createFile("Test.json", JSON.stringify(obj));
可以使用以下命令写入现有子文件夹:
const folder = DriveApp.getFoldersByName("Your_Dir").next();
folder.createFile("Test.json", JSON.stringify(obj));
或者获取带有DriveApp.getFolderById(the_share_id)
的确切文件夹。
使用.createFile("Test.json", data, MimeType.PLAIN_TEXT)
设置哑剧类型会使云端硬盘将文件显示为"类型=文本"而不是"未知文件">
.createFile()
返回一个具有.getId()
等方法的File
对象。