【问题标题】:Delete file in Google Drive with Javascript使用 Javascript 删除 Google Drive 中的文件
【发布时间】:2013-05-13 12:33:24
【问题描述】:

我正在尝试使用适用于 JavaScript 的 Gdriva API 删除文件。此页面似乎直接退出,但它不起作用。 https://developers.google.com/drive/v2/reference/files/delete

看起来应该很容易做到

function deleteFile(fileId) {
  var request = gapi.client.drive.files.delete({
    'fileId': fileId
  });
  request.execute(function(resp) { });
}

但我得到“未捕获的类型错误:无法读取未定义的属性‘文件’”

有谁知道怎么回事?我拥有所有权限。我可以创建和更新文件,但不能删除它。

更新! 找到这个:Deleting a Google Drive file using JS client。 API中似乎有一个错误。有一个解决方案可以删除文档,这样您就无法使用 API 找到它,使用列表,但该文档将保留在您的 Google Drive 中并且将被损坏。您可以查看它,但不能删除或打开它。

【问题讨论】:

  • 您能否提供调用该方法的其他代码?
  • 另外,请阅读此主题:stackoverflow.com/questions/11315962/…
  • 当然!我正在开发一个库,以便更轻松地使用 GDrive 文件。这里处于早期阶段:verodella.se/snipply 错误在控制台中。删除发生在文件的底部:VRD.gd.js,请参阅源代码。
  • 是的,我也是。 :) 这帮助我创建了插入、更新和查找功能,但删除时我卡住了。
  • 在插入、更新等方法中,您使用的是 gapi.client.request 语法。我会怀疑 API 要么是错误的,要么是超前的(gapi.client.drive 语法可能会在未来的版本中出现)。我只会在 delete 方法中使用注释掉的 gapi.client.request 语法。

标签: javascript google-drive-api


【解决方案1】:

听起来您没有加载驱动器客户端库。您的错误消息显示 gapi.client.drive 未定义。你应该有这样的一行:

gapi.client.load('drive', 'v2', function() { /* Loaded */ });

这将加载驱动 API 并定义 gapi.client.drive。确保在回调中调用 delete,或者确保在尝试删除文件之前加载 drive

或者,正如@MasNotsram 提到的,您可以只使用 gapi.client.request 语法来调用删除。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    相关资源
    最近更新 更多