Google张Python快速入门,配置OAuth,不能select"Internal"

Google sheets Python quickstart, configure OAuth, can't select "Internal"

我是一名全新的 Google 开发人员(但不是编程或 Python 的新手)。 我正在尝试学习一些关于 Google 表格 (Python API) 的知识。

我找到了以下快速入门文档:https://developers.google.com/sheets/api/quickstart/python?authuser=3

我在本地安装了 Python (Python 3.7.3)。 我创建了一个 Google 开发者帐户,创建了一个项目,在 API 库中找到了 Google 表格 API 并为我的项目启用了它。

我正在尝试完成该快速入门文档“先决条件”下的第四个要点:

其中 'Create credentials' 是本文档的 link: https://developers.google.com/workspace/guides/create-credentials?authuser=3

我卡在了第 6 步:

配置 OAuth 同意屏幕:

  1. 打开 Google 云控制台。
  2. 点击 Google Cloud Platform 旁边的向下箭头 arrow_drop_down 和 select 一个项目。
  3. 在左上角,单击“菜单”菜单。
  4. 单击 APIs & Services > Credentials。显示您的项目的凭据页面。
  5. 单击配置同意屏幕。出现“OAuth 同意屏幕”屏幕。
  6. 点击您的应用的用户类型。如果您要 运行 快速入门,select 内部。 注意:对于公司内部应用程序,范围未在同意屏幕上列出,使用受限或敏感范围不需要 Google 进一步审查。 ...

确实,我正在 运行 编写“快速入门”。但是,我 CANNOT select 'Internal',这个选项对我是禁用的。将鼠标悬停在该选项上会显示弹出文本:“因为您不是 Google Workspace 用户,您只能将您的应用程序提供给外部(一般受众)用户。”

我不知道...我在这里错过了什么吗?为了成为“Google Workspace 用户”,我需要做些什么?这似乎没有被列为先决条件。

我尝试 Google“如何启用 Google Workspace 用户”,这似乎导致页面暗示我必须购买 Google 域。

此时,我只是想 运行 快速入门中的基本脚本。 代码吐出“credentials.json”找不到文件——这就是我找到这篇文章的原因:https://github.com/googleworkspace/python-samples/issues/134 这让我明白我错过了“为桌面应用程序创建凭据”这一步。

我很想开始编写 Python 可以 read/write Google 表格的脚本。 我对如何配置此 OAuth 同意屏幕感到困惑。

我试图通过选择外部用户继续前进,但在尝试将我自己添加为测试用户时,它抱怨我无法添加不合格的用户。再一次,我很困惑——作为项目创建者和所有者,我似乎应该是一个合格的用户来测试应用程序?这里有些地方不对。

如有任何帮助,我们将不胜感激!

谢谢! ;)

除非您有 Workspace 帐户,否则您不能select“内部”项目

这些类型的项目的想法是它们可供 organization/domain 的成员使用。这具有不要求您通过必要的 OAuth 屏幕验证的效果,一般 public 可用的任何应用程序都必须通过。也就是说,如果您希望您的应用成为 public,则必须由第 3 方对其进行审查,以确保该代码不会危害安全或隐私。这是以开发人员为代价完成的。

因此您必须将其设置为“外部”- 只需确保将您自己和任何将使用它的帐户添加为“测试”用户,以便您可以访问。

为什么会出现 credentials.json 错误。

您是否下载了凭据 json 文件?

您需要下载它,将其重命名为 credentials.json,然后将其添加到您的项目文件夹中,以便 Python 可以看到它。

请注意,此问题不是由 OAuth 同意屏幕引起的。要进入那个阶段,要知道您是否已正确配置它,脚本需要 credentials.json 中的数据才能向 Google 的服务器请求身份验证。发出此请求后,它应该会向您提供 link 到 OAuth 同意屏幕,然后该屏幕会要求您提供适当的权限。

参考资料