在我的应用程序中,我想使用范围有限的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文件夹中的资源。我希望,这是深思熟虑的解决方案,不会被改变。
发布于 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.readonly
或https://www.googleapis.com/auth/drive
,这取决于您是否需要写访问权限。
https://stackoverflow.com/questions/74233277
复制相似问题