首页 > 解决方案 > 使用 OAuth 2.0 授权访问 Google 表格

问题描述

我正在制作一个向 Google 表格写入/读取值的 Android 应用程序。该应用程序仅供我们公司的人员使用,并且只有一个已创建的 Google 工作表。我遵循了这个快速入门教程。因此,打开应用程序后,将显示 OAuth 窗口,用户可以选择他的 Google 帐户,在这种情况下,用户正在选择我们组织的 GSuite 帐户。但只有工作表的所有者(我)才能在应用程序中读/写。在电子表格的共享设置中,设置为Anyone within my organisation可以编辑。我在这里想念什么?为什么我的 GSuite 组织中的其他人无法访问工作表?

此外,在CredentialsGoogle Cloud Console 的选项卡和OAuth consent screen窗口中,有很多设置,我读过一些关于Scopes (Sensitive) for Google APIs. 但我的问题是,Google 工作表 ID 已经在应用程序中硬编码,我不需要任何用户的同意,因为我是工作表的所有者,我没有访问用户的电子表格,我想检查是否用户是否是我的组织成员(以防止滥用应用程序)

标签: javaandroidgoogle-sheetsgoogle-oauthgoogle-sheets-api

解决方案


如果我了解您可以通过在凭据“Oauth 同意屏幕”选项卡下设置“内部”单选按钮来使 Proejct 仅通过API 控制台在内部可用。如果您需要允许外部 ppl 使用该项目,但希望将工作表的访问权限限制为仅限内部使用,您可能需要在中间创建一个服务器端应用程序,该应用程序使用 OAuth 令牌进行访问并包括验证步骤通过在代理或执行工作表操作之前检查用户个人资料电子邮件地址以确保它在您的域内。


推荐阅读