首页 > 解决方案 > 要实施哪些 Google API 来访问不同云端硬盘位置的文件?

问题描述

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

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

路径组织如下:

员工\John Smith\Trips\TripLog.xls
员工\Albert Cooley\Trips\TripLog.xls
员工\Rob Ford\Trips\TripLog.xls

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

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

标签: c#google-sheetsgoogle-apigoogle-drive-api

解决方案


抱歉,如果这听起来太明显了,但如果您想访问 Google Drive 上的文件,您需要使用Google Drive API来回答您的问题。

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

从那里您可以决定如何处理这些文件。如果您想在 google sheet 中使用它们并使用Google Sheets API,您需要使用 Drive API 指定正确的 MIME 类型再次重新上传它们。在驱动文档中有一个完整的部分关于这个问题

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

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


推荐阅读