Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 要实现哪些Google API来访问不同驱动器位置的文件?_C#_Google Sheets_Google Api_Google Drive Api - Fatal编程技术网

C# 要实现哪些Google API来访问不同驱动器位置的文件?

C# 要实现哪些Google API来访问不同驱动器位置的文件?,c#,google-sheets,google-api,google-drive-api,C#,Google Sheets,Google Api,Google Drive Api,我假设我可以通过使用谷歌项目来实现我的目标。如果这不是这个问题的正确位置,请将我重定向到正确的位置 问题:我有3名员工,在我拥有的谷歌硬盘中有各自的文件夹。它们各自的文件夹中都有一个“TripLog.xls”文件。我需要打开每个文件并提取数据。最终我会写数据,但现在我专注于阅读数据 路径组织如下: Employees\John Smith\Trips\TripLog.xls Employees\Albert Cooley\Trips\TripLog.xls 员工\Rob Ford\Trips\T

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

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

路径组织如下:

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

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


有没有办法使用
谷歌硬盘API
,这样我就可以浏览文件夹并读取电子表格数据?

如果这听起来太明显,很抱歉,但是回答您的问题如果您想访问谷歌硬盘上的文件,您需要使用

这些文件在驱动器中的位置不会改变要使用的API。您只需要知道每个文件的id,如果不知道,则需要提取它。如果您的文件夹结构使其难以更改(如果可以的话),则可以尝试更改它,使其具有更容易遵循的路径。如果只需要所有xls文件,也可以执行此操作

从那以后,你该怎么处理这些文件。如果您想在google工作表中使用它们并利用它们,您将需要使用指定的驱动API重新上传它们。这本书有整整一节

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


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

在Google Drive上,所有文件和文件夹都由唯一的ID管理。因此,如果您已经知道
TripLog.xls
的每个文件的ID,您可以使用ID直接访问它们。如果您从未知道这些ID,例如,在文件夹结构中,当
John Smith
文件夹下的
Trips
文件夹ID时,您可以使用父文件夹中的
TripLog.xls
文件夹ID的搜索查询来检索
TripLog.xls
。如果这对你的情况没有帮助,我道歉。顺便说一下,
TripLog.xls
是Microsoft Excel文件?因此,使用驱动器API我需要下载一个文件来读取或写入它,而Sheets API允许我在不下载的情况下操作该文件。而且,我可以对所有工作表文件使用相同的服务帐户。实际上很有帮助。谢谢