如何使用Google Apps Script将JSON文件保存到Google云端硬盘?



我有一个神经网络脚本,需要从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对象。

最新更新