使用 Google Drive API 删除文件

问题描述 投票:0回答:4

问题与这篇文章类似(使用 Google Docs API 删除的文档在 Google Drive 中仍然可见无法真正使其与建议的解决方案一起工作。当我们使用 delete() 函数删除文件时,无论该文件是否被删除不是这里的问题,问题是该文件将始终在 Web 浏览器中可见,甚至无法手动删除。我想知道是否有一种方法可以删除该文件,同时使其在 Web UI 中消失?

非常感谢。

google-drive-api
4个回答
4
投票

在 v3 API 中,您应该能够使用文件的 id 来删除文件。不要忘记对 service.files().delete() 返回的删除对象调用execute()。

import com.google.api.services.drive.model.*;
import com.google.api.services.drive.Drive;

Drive service = ...;

com.google.api.services.drive.model.File file = ...;

service.files().delete(file.getId()).execute();

0
投票

我使用过以下内容:

public static string DeleteFile(string id)
{
  FilesResource.DeleteRequest request = DriveService.Files.Delete(id);
  return request.Fetch();
}

我已经使用此功能多次清空我的谷歌驱动器,没有出现任何问题。让我知道这是否适合您。


0
投票
FilesResource.DeleteRequest request = service.Files.Delete(fileID);
request.Execute();

这是 2020 年修复,v3 api。

P.S:如果有人能告诉我如何进行语法突出显示,那就太好了。


0
投票
function deleteGoogleDriveFile() {
  const fileId = "yourFileId"; // *1;
  const access_token = "yourAccessToken"; // *2;
  const url = `https://www.googleapis.com/drive/v3/files/${fileId}`;
  return await fetch(url, {
    method: 'DELETE',
    headers: {
      'Authorization': `Bearer ${access_token}`
    }
  }).then(res => res.json());
}

*1 - 您可以通过转到驱动器文件夹 -> 右键单击您的文件 -> 共享 -> 复制链接来找到您的文件ID。在链接 url 中将通过提取找到 yourFileId

https://drive.google.com/file/d/<yourFileId>/view?usp=drive_link

*2 - 您可以从 Google OAuth 2.0 Playground 获取 yourAccessToken

第1步:选择并授权API -> Drive API v3 -> 选择

https://www.googleapis.com/auth/drive
-> 单击授权API。将显示 Google 帐户选择和同意弹出窗口,选择您的帐户并选择 Allow 继续执行步骤 2。

Step2:兑换令牌授权码:选择兑换令牌授权码您的AccessToken将显示在请求/响应面板上。

© www.soinside.com 2019 - 2024. All rights reserved.