首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >驱动器API: api使用相同的帐户(Oauth2 )找不到手动创建的文件。

驱动器API: api使用相同的帐户(Oauth2 )找不到手动创建的文件。
EN

Stack Overflow用户
提问于 2022-10-28 01:28:23
回答 1查看 46关注 0票数 0

在我的应用程序中,我想使用范围有限的Google,即drive.file。

NB应用程序是对有限的设备使用OAuth2授权流。

但是,在这个范围内,API找不到我用同一个帐户使用谷歌驱动网络手动创建的文件。

此外,如果我手动将文件(或其他目录)添加到应用程序创建的目录中,API仍然找不到它们。

是否有一种仅使用有限的作用域就能实现这一目标的方法?

UPD151122链接到Google问题跟踪器中的类似请求

UPD101122在通过谷歌应用程序验证过程中,我发现允许有限的设备只使用很少的作用域,而drive.readonly并不存在。

设备的OAuth 2.0流仅支持以下作用域: OpenID连接,Google登录 电子邮件 openid 配置文件 驱动API https://www.googleapis.com/auth/drive.appdata https://www.googleapis.com/auth/drive.file YouTube API https://www.googleapis.com/auth/youtube https://www.googleapis.com/auth/youtube.readonly

解决办法将OAuth2流用于webservice,主机自己的服务用于有限设备的OAuth2授权。另一方面,有多个云服务已经为设备实现了OAuth2流,并且IMHO具有更合理的权限范围。

UPD291022相比,我检查了Dropbox。它具有相同的作用域特性,具有多个权限,但与Google相反,Dropbox可以看到由同一个帐户手动创建的app文件夹中的资源。我希望,这是深思熟虑的解决方案,不会被改变。

  • 我还没有在API文档中找到解决方案和类似的任务,所以我想这里没有讨论过这样的场景。
  • 在网上有提到,目录可以与应用程序共享,但我还没有找到如何做到这一点。
  • 前面的答案提到了drive.metadata的使用,但是这个范围仍然是敏感的,应该被验证,因此没有多大帮助。
  • 我尝试过使用drive.readonly范围,但它也需要应用程序验证。
  • Google页面上的查询按预期工作,但它要求提供敏感权限。
  1. 我希望通过api或google创建的相同帐户创建的文件应该可以从api访问,即使权限有限。
  2. 我希望,由app创建的手动放在目录中的所有内容都应该通过app访问(至少在读取/下载/上传时是如此)。
EN

回答 1

Stack Overflow用户

发布于 2022-10-28 03:08:52

https://www.googleapis.com/auth/drive.file作用域允许您查看、编辑、创建和删除only the specific Google Drive files you use with this app

该应用程序是客户端id或您在谷歌云控制台中创建的项目。

因此,除非该文件是由应用程序本身创建的,否则应用程序将无法看到这些文件。

这意味着,您通过google驱动web应用程序手动添加的任何文件,或由其他应用程序创建的任何文件,都不会被范围'https://www.googleapis.com/auth/drive.file'授权的应用程序看到。

因此,如果您想查看应用程序创建的文件以外的其他文件,则需要使用https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive,这取决于您是否需要写访问权限。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74233277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档