2

我正在尝试使用适用于 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 中并且将被损坏。您可以查看它,但不能删除或打开它。

4

1 回答 1

3

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

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

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

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

于 2013-09-16T04:30:16.743 回答