首页 > 解决方案 > 将 json 文件创建目标从 Dropbox 更改为 Google Drive

问题描述

我需要让这段代码在谷歌驱动器而不是下拉框内创建 json 文件

我已经尝试了一些东西,但我对做出这种改变的知识还不够,我会显示更少的代码,但我不知道问题出在哪里

function main(spreadsheet_id) {
  var json_dict = fillDict(spreadsheet_id)
  var json_obj = convertDictToJSON(json_dict)
  sendJSONToDropbox(json_obj)
};

function sendJSONToDropbox(json_object) {
  var timestamp = timeStamp()
  var parameters = {
    "path": "/json_jobs/rhino" + "-" + timestamp + ".json",
    "mode": "add", // do not overwrite
    "autorename": true,
    "mute": false // notify Dropbox client
  };


  var headers = {
    "Content-Type": "application/octet-stream",
    'Authorization': 'Bearer ' + 'dropbox_access_token',
    "Dropbox-API-Arg": JSON.stringify(parameters)
  };


  var options = {
    "method": "POST",
    "headers": headers,
    "payload": json_object
  };

  var API_url = "https://content.dropboxapi.com/2/files/upload";
  var response = JSON.parse(UrlFetchApp.fetch(API_url, options).getContentText());

标签: jsongoogle-apps-scriptgoogle-drive-api

解决方案


使用DriveApp类,并不太难:

function sendJSONToGDrive(json_object) {
  var timestamp = timeStamp();
  var fileName = "rhino" + "-" + timestamp + ".json";
  var fileContent = JSON.stringify(json_object);

  var myFolder = DriveApp.getFolderById('YOUR_FOLDER_ID');
  myFolder.createFile(fileName, fileContent, 'application/json');
}

您只需替换YOUR_FOLDER_ID实际目标文件夹的 ID。

有关如何使用 Google Apps 脚本中的 Drive API 的更多信息,我建议您查看以下链接:https ://developers.google.com/apps-script/reference/drive


推荐阅读