【问题标题】:Authorising access to a Google Sheet using OAuth 2.0使用 OAuth 2.0 授权访问 Google 表格
【发布时间】:2018-10-08 14:26:27
【问题描述】:

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

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

【问题讨论】:

    标签: java android google-sheets google-oauth google-sheets-api


    【解决方案1】:

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

    【讨论】: