1

我相信有一个未记录的 Google API 可用于代表第三方用户创建和管理 Google Cloud Console(和 App Engine)项目。

有谁知道如何使用它?

我认为旧版本的 Google Eclipse 插件在(未记录的)范围内获得了一个 OAuth2 令牌https://www.googleapis.com/auth/appengine.admin,这允许它代表您生成一个 Cloud Console 项目。最新版本似乎没有这样做。App Engine 自己的 appcfg.py 也使用此范围,但似乎没有比部署代码更多的功能 - 我希望更改项目的核心设置,例如名称、重定向 URL 和 Web 源。

任何信息,将不胜感激。

我维护一个 WordPress 插件,为最终用户提供安全的 Google Apps 登录,目前必须向管理员提供详细说明,以手动创建新的 Cloud Console 项目,并输入重定向 URL 等设置。理想情况下,我会创建一个简单的在线服务来为他们完成所有这些工作。

谢谢!

4

1 回答 1

0

可以代表 Google 帐户以编程方式创建新的开发者控制台项目(是的,您没看错)。您以非常迂回的方式这样做:

  1. 向用户请求https://www.googleapis.com/auth/drive.scripts范围(标准 OAuth 2.0 流程)。
  2. 使用 Drive API 的drive.insert方法创建一个 mimetype 为application/vnd.google-apps.script.
  3. 以某种方式尝试获取项目 ID,也许通过上传一些 Apps 脚本代码?这是我一直无法弄清楚的部分。

一个鲜为人知的事实是,每个 Google Apps 脚本项目都有一个与之关联的隐藏开发者控制台项目。该项目显示在项目列表中,但确实存在。它是在用户启动新的 Apps 脚本项目时自动创建的,该drive.insert方法足以导致这种情况发生。

你如何进入隐藏项目?好吧,我知道的唯一方法是从 Drive 网站打开 Apps Script 项目,打开“资源 > 高级 Google 服务”对话框,然后单击开发人员控制台的链接。您将在 URL 中找到项目 ID。

除了没有显示在您的项目列表中并且无法使用 App Engine 之外,这是一个普通的开发者控制台项目。您可以添加其他 OAuth 客户端凭据、服务帐户、Compute Engine 实例等。当然,一旦您有了项目 ID,所有各种管理 API 都将起作用:创建新虚拟机,利用服务帐户的模拟能力,等等

于 2015-01-24T14:20:26.447 回答