获取我个人的 google 驱动器 (My Drive) 的 driveId

Get driveId of my personal google drive (My Drive)

我有一个 NodeJS 应用程序可以读取我的 google 驱动器中的文件,源代码如下:

  var d = google.drive({ version: "v2", auth: oauth2Client });
  var drive = d.drives.get({ driveId: "my-drive" });

需要driveId作为参数之一,如何获取?另外,它不是共享驱动器,只是我的个人驱动器,我使用的驱动器名称(my-drive)明显错误,URL和错误信息如下:

url: 'https://www.googleapis.com/drive/v2/drives/my-drive',

GaxiosError:找不到共享驱动器:我的驱动器

我相信你的目标如下。

  • 您想使用 Node.js 的 googleapis 检索 Google 驱动器根文件夹的文件夹 ID。

在这种情况下,我认为可以使用“Files:get”的方法。当这反映在您的脚本中时,它会变成如下。

修改后的脚本:

var d = google.drive({ version: "v2", auth: oauth2Client });
var drive = await d.files.get({ fileId: "root" });
var id = drive.data.id;
console.log(id);

注:

  • var drive = d.drives.get({ driveId: "my-drive" });的情况下,drive是Promise。请注意这一点。

参考:

正在检查您是否正在尝试调用“我的云端硬盘”ID,但是没有 API 调用来检索此信息,因为它本身不是文件夹,您也可以调用 parent folders that are saved in your personal Drive, you can use a List 这将 return 父文件夹 ID 关于您正在尝试处理的文件 ID。

您提到的 Drive.get 方法仅适用于共享驱动器,如文档中所述:

Gets a shared drive's metadata by ID.

在这种情况下,如果您不尝试从共享驱动器本身检索数据,您将无法使用此 API 调用。