Google Drive api范围和文件访问权限(drive vs drive.files)

WHI*_*LOR 10 google-api google-api-client google-drive-api

我为我创建了两个刷新令牌:一个用于

SCOPE = 'https://www.googleapis.com/auth/drive'
Run Code Online (Sandbox Code Playgroud)

和另一个

SCOPE = 'https://www.googleapis.com/auth/drive.file'
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取有关文件的信息(使用get方法)我在使用SCOPE drive.files时可以获得一些文件,有些只在使用更宽范围的驱动器时获得

但我无法弄清楚是什么原因造成的?文件位于不同的文件夹中,但有一个共享的根文件夹.

小智 10

不同之处在于'drive.file'仅授予您应用创建的文件或用户明确与您的应用共享的文件的权限,而'drive'则允许您的应用程序查看用户驱动器中的所有文件.

看到

https://developers.google.com/drive/web/scopes

  • 我如何与应用程序明确共享文档? (4认同)
  • 要与应用程序共享文档,您可以提示用户通过 google.picker (https://developers.google.com/picker) 在应用程序中选择文档。 (2认同)

小智 5

你真的应该考虑使用 drive.file,那是他们试图推动用户的地方。我只是用这个战斗我发现,如果使用drive.file范围,可以随后打开正在使用的文件类型的API选择的文件,但只有当你设置正确的AppID。

请参阅此处:https : //developers.google.com/picker/docs/#gdata

这使您可以克服未设置 AppID 时遇到的 404 错误。