使用 https://www.googleapis.com/auth/drive 时询问太多 Google 驱动器权限
Ask too many Google Drive permissions when using https://www.googleapis.com/auth/drive
我的应用需要上传 csv 文件并转换为 Google 表格。所以我们向我们的用户请求这个权限“https://www.googleapis.com/auth/drive”。但是我们的一些用户抱怨我们要求的权限太多。是否有任何其他设置可以用来避免询问太多?
用户授权时的权限列表如下:
Upload, download, update, and delete files in your Google Drive
Create, access, update, and delete native Google documents in your Google Drive
Manage files and documents in your Google Drive (e.g., search, organize, and modify permissions and other metadata, such as title)
我的应用程序需要什么范围?
作为一般规则,尽可能选择最严格的范围,并避免请求您的应用实际上不需要的范围。用户更容易授予对有限的、明确描述的范围的访问权限。相反,用户可能会犹豫授予对其文件的广泛访问权限,除非他们真正信任您的应用程序并理解它为什么需要这些信息。
范围 https://www.googleapis.com/auth/drive.file
以实用的方式实现了这种平衡。据推测,出于他们理解的原因,用户只会使用他们信任的应用程序打开或创建文件。
https://www.googleapis.com/auth/drive.file
Per-file access to files created or opened by the app
请求应用程序的完整驱动范围
某些应用可能需要对用户云端硬盘 (https://www.googleapis.com/auth/drive
) 中所有文件的完全访问权限。例如,设计用于同步文件的应用需要这种级别的云端硬盘访问权限。具有与列出或重组文件相关的特殊需求的应用程序可能需要完整范围。
请求应用程序的驱动器范围只读范围
对用户所有云端硬盘文件 (https://www.googleapis.com/auth/drive.readonly
) 的只读访问权限可能对某些应用有用。例如,照片浏览器可能需要以独特的幻灯片放映顺序重新组织图像文件,或者移动应用程序可能需要解决独特的显示限制,而无需编写任何内容。对于只需要读取云端硬盘中所有文件的文件元数据的应用程序,有 https://www.googleapis.com/auth/drive.metadata.readonly
.
在应用程序开发期间请求完整的驱动范围
使用完整范围的一个常见且完全有效的案例是迭代开发。在开发过程中测试您的应用程序时,避免与授权相关的约束并使用完整范围可能会更容易。然后,在您实际发布您的应用程序之前,您可以退回到文件级范围或生产操作真正需要的任何范围。
结论
该文本是直接从 Google Drive Scopes page 中提取的,我在开发驱动器应用程序时将其用作经验法则。在您的情况下,因为您需要能够上传文件,我会说您应该考虑使用 https://www.googleapis.com/auth/drive.file
范围进行一些测试,我之前没有尝试过这个,但听起来它可能适用于您的实例。不幸的是,我认为这是除了完全驱动器访问之外唯一的其他选择。
我的应用需要上传 csv 文件并转换为 Google 表格。所以我们向我们的用户请求这个权限“https://www.googleapis.com/auth/drive”。但是我们的一些用户抱怨我们要求的权限太多。是否有任何其他设置可以用来避免询问太多?
用户授权时的权限列表如下:
Upload, download, update, and delete files in your Google Drive
Create, access, update, and delete native Google documents in your Google Drive
Manage files and documents in your Google Drive (e.g., search, organize, and modify permissions and other metadata, such as title)
我的应用程序需要什么范围?
作为一般规则,尽可能选择最严格的范围,并避免请求您的应用实际上不需要的范围。用户更容易授予对有限的、明确描述的范围的访问权限。相反,用户可能会犹豫授予对其文件的广泛访问权限,除非他们真正信任您的应用程序并理解它为什么需要这些信息。
范围 https://www.googleapis.com/auth/drive.file
以实用的方式实现了这种平衡。据推测,出于他们理解的原因,用户只会使用他们信任的应用程序打开或创建文件。
https://www.googleapis.com/auth/drive.file
Per-file access to files created or opened by the app
请求应用程序的完整驱动范围
某些应用可能需要对用户云端硬盘 (https://www.googleapis.com/auth/drive
) 中所有文件的完全访问权限。例如,设计用于同步文件的应用需要这种级别的云端硬盘访问权限。具有与列出或重组文件相关的特殊需求的应用程序可能需要完整范围。
请求应用程序的驱动器范围只读范围
对用户所有云端硬盘文件 (https://www.googleapis.com/auth/drive.readonly
) 的只读访问权限可能对某些应用有用。例如,照片浏览器可能需要以独特的幻灯片放映顺序重新组织图像文件,或者移动应用程序可能需要解决独特的显示限制,而无需编写任何内容。对于只需要读取云端硬盘中所有文件的文件元数据的应用程序,有 https://www.googleapis.com/auth/drive.metadata.readonly
.
在应用程序开发期间请求完整的驱动范围
使用完整范围的一个常见且完全有效的案例是迭代开发。在开发过程中测试您的应用程序时,避免与授权相关的约束并使用完整范围可能会更容易。然后,在您实际发布您的应用程序之前,您可以退回到文件级范围或生产操作真正需要的任何范围。
结论
该文本是直接从 Google Drive Scopes page 中提取的,我在开发驱动器应用程序时将其用作经验法则。在您的情况下,因为您需要能够上传文件,我会说您应该考虑使用 https://www.googleapis.com/auth/drive.file
范围进行一些测试,我之前没有尝试过这个,但听起来它可能适用于您的实例。不幸的是,我认为这是除了完全驱动器访问之外唯一的其他选择。