我正在开发一个具有drive.file范围的.NET Google Drive应用程序。我的应用程序未通过查询 Q = sharedWithMe 显示共享文件列表。但是,当我更改应用程序的范围以驱动文件列表时,会出现。为什么当范围设置为drive.file时它不起作用?我在 Drive 控制台上创建了另一个项目并对其进行了测试,但再次失败。
Drive.Files 范围声明它只允许访问由应用程序打开或创建的文件。新的 API 对文件范围的限制更加严格,我相信是因为 Google 正在尝试推动开发人员使用新的 google 文件选择器(作为安全措施),以访问不是由应用程序创建的文件。
您的解决方案是:
更新:我刚刚测试过,可以确认您的结果。 “由应用程序创建”不是帐户之间共享的属性。只影响原来的账号。
drive.file 只能查看使用应用程序创建的文件或与应用程序显式共享的文件。与用户共享文件是不够的,还需要与应用程序共享。
因此,如果您共享该文件,则共享的用户需要使用您的应用程序显式打开该文件,以便您在该上下文中查看该文件。
例如(所有操作均由具有drive.file范围的应用程序执行):
我在 Google Drive 文档中找不到任何地方声称对访问应用程序在不同帐户上创建的文件有任何限制,因此这可能是去年为解决范围违规错误而引入的错误。
例如:
drive.readonly
范围最适合您。
drive.file
范围将仅显示与您的应用程序专门共享的文件,如其他答案所述
drive.readonly
甚至会显示经过身份验证的用户的私人文件。此外,drive.readonly 不是限制或敏感的 api 级别,这可以使您的应用程序免于经过验证过程。