javascript - 使用 Javascript 在共享云端硬盘 ( Google Drive API) 中创建文件夹

标签 javascript google-drive-api

我有一个脚本,可以将 csv 文件上传到共享驱动器,它工作正常,但当我尝试创建文件夹时,它不起作用。不知道我哪里出错了 我用来创建文件夹的代码

    function createFolder() {
      var parents = '1XNBrOtnXJU1MhYv0nrAwTDXRZ'
      var fileMetadata = {
        'name': 'sample_folder',
        'mimeType': 'application/vnd.google-apps.folder',
        'parents' : [parents]
      };

  drive.files.create({
    resource: fileMetadata,
    fields: 'id'
  }, function (err, file) {
    if (err) {
      // Handle error
      console.error(err);
    } else {
      console.log('Folder Id: ', file.id);
    }
  });
         
}`

enter image description here

最佳答案

您仍然可以在 JavaScript 中使用 fetch API。只需更改网址即可

来自:

https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart&supportsAllDrives=true

致:

https://www.googleapis.com/drive/v3/files?supportsAllDrives=true

更改元数据中的 mimeType

来自:

"mimeType": "text/csv",

致:

"mimeType": "application/vnd.google-apps.folder",

删除这行代码:

var form = new FormData();
form.append('metadata', new Blob([JSON.stringify(metadata)], { type: 'application/json' }));
form.append('file', file);

并直接使用元数据作为您的请求正文。

您的代码应如下所示:

var parents = "18-7shshazxhkashjfk-xO";
var metadata = {
  "name": filename,
  "mimeType": "application/vnd.google-apps.folder",
  "parents": [parents], // Google Drive folder id
};

var accessToken = gapi.auth.getToken().access_token;
fetch("https://www.googleapis.com/drive/v3/files?supportsAllDrives=true", {
  method: 'POST',
  headers: new Headers({
    'Authorization': 'Bearer ' + accessToken,
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  }),
  body: JSON.stringify(metadata),
}).then((res) => {
  return res.json();
}).then(function(val) {
  console.log(val);
});

引用:

关于javascript - 使用 Javascript 在共享云端硬盘 ( Google Drive API) 中创建文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68655145/

相关文章:

javascript - 哪一个比较两个字符串更有效?

javascript - 无法使用 Node.js 从内部函数访问异步方法的本地范围

java - Google 云端硬盘撤销共享文件的权限

pdf - 使用 Google Cloud 或 Drive 以编程方式将 Word 转换为 PDF

javascript - 谷歌API授权错误 "invalid cookie policy"

javascript - 在 Vuex Store 中构建状态

javascript - Bower 安装了几个文件。为什么以及如何改变它?

JavaScript:如何修复未正确分配属性值的实例

google-drive-api - 从 Chrome 打包应用程序与 Google Drive 集成

android - 是否可以共享应用程序数据文件?