要实现哪些 Google API 来访问不同云端硬盘位置的文件?

Which Google APIs to implement to access files in different Drive locations?

我想我可以通过使用 Google 项目来实现我的目标。如果这不是这个问题的正确位置,请将我重定向到正确的位置。

问题:我有 3 名员工,他们在我拥有的 Google 驱动器中有自己的独立文件夹。他们各自的文件夹中都有一个“TripLog.xls”文件。我需要打开每一个并提取数据。最终我会写数据,但现在我专注于读取数据。

路径组织如下:

Employees\John Smith\Trips\TripLog.xls
Employees\Albert Cooley\Trips\TripLog.xls
Employees\Rob Ford\Trips\TripLog.xls

根据我对 Sheets API 的理解,我创建了一个生成电子邮件的服务帐户。我将文件配置为与服务帐户电子邮件共享。这适用于一次性方案,但现在适用于 3 个文件。当有15个人时,要求15个服务账号似乎很尴尬。

有没有办法使用 Google Drive API 以便我可以浏览文件夹并读取电子表格数据?

抱歉,如果这听起来太明显了,但如果您想访问 Google 驱动器上的文件,您将需要使用 Google Drive API.

来回答您的问题

这些文件在驱动器中的位置不会改变 API 的使用。您只需要知道每个文件的 ID,如果不知道,则需要 search for those files 来提取它。如果您的文件夹结构很难尝试更改它(如果可以的话),以便它有一个更容易遵循的路径。如果您只想要所有 xls 文件,也可以这样做 name contains '.xls'

从那里开始,您可以决定如何处理这些文件。如果你想在 google 工作表中使用它们并利用 Google Sheets API you will need to re upload them again with the Drive API specifying the correct MIME type. There is a whole section on this matter in the drive documentation.

最后,您不需要为每个文件都创建 service account。您只需要确保与服务帐户(和正确的编辑权限)共享您要修改的每个电子表格。

对于这种情况,假设服务帐户只是另一个帐户,方便地不需要通过 OAuth2 同意屏幕。