json - 将 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());
解决方案
使用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
推荐阅读
- javascript - 如何在热敏打印机中打印页面
- c# - VSCode - linter 找不到 Blazor SyncFusion 组件
- ios - Swift SKNode 位置帮助 - 移动时精灵位置始终为 0,0
- html - 第 1 页后无法从 jquery DataTable 表行中获取属性值
- contentful - 在从旧数据库迁移到 Contentful 时添加 sys 日期属性
- javascript - class sendAPICallback extends dAPIMessage { ^ TypeError: Class extends value undefined is not a constructor or null
- javascript - 有没有办法从通过 JavaScript 嵌入的 YouTube 视频中获取章节?
- html - 为什么在这种情况下隐藏的溢出不能像预期的那样工作?
- algorithm - UnionFind 与加权快速联合(又名按等级联合)
- javascript - 拒绝承诺时如何解决 UnhaldedPromiseRejectionWarning