使用Google Drive api文件列表时,在父项中使用“root”时,文件夹不会显示在根目录下

时间:2017-06-29 06:39:48

标签: c# google-api google-drive-api google-api-dotnet-client service-accounts

当我在Q中设置父项中的“root”时,我只想查看根目录下的文件夹和文件,但我只能看到一个标题为“Get started”pdf文件的文件。 (我使用C#代码)

我的文件夹在哪里?

但是当我在代码中按名称搜索(例如名字='Folder1')时,我可以看到文件夹。 当我在API帮助网站(https://developers.google.com/drive/v3/reference/files/list)上使用名为“试用此API”的Api测试时,我也能看到文件夹输出。

所以只有C#代码不显示文件夹? 你能告诉我为什么它只显示文件而不显示文件夹吗?

仅供参考:我使用服务帐户进行了身份验证,并使用了Google Drive v3 SDK。

2 个答案:

答案 0 :(得分:0)

如果您看到的唯一文件是“开始使用”pdf文件,则表明您正在使用服务帐户进行身份验证。

服务帐户不是您。可以把它想象成一个虚拟用户,它拥有自己的谷歌驱动器帐户,默认情况下没有文件。

选项:

  1. 使用files.create方法
  2. 将文件上传到服务帐户
  3. 使用服务帐户在您的个人Google云端硬盘帐户中共享文件夹。您可以通过获取服务帐户电子邮件地址并与其共享文件夹来执行此操作。注意:据我所知,您无法与任何人共享您的个人根文件夹。
  4. 提示:如果您允许服务帐户将文件上传到您的个人google云端硬盘帐户,请记住让它授予您的个人用户使用permissions.create方法访问文件的权限,否则您将拥有自己的文件驱动您无权访问的帐户。

答案 1 :(得分:0)

我不知道这个问题是否得到了回答,所以我回复了。我在使用name='root'时遇到了这个问题。它返回了我的文件和文件夹列表,但有些丢失。

我找到了某处并用以下内容修改了'Q'字符串,它现在显示了正确的信息。

('root' in parents)