用于创建和管理Google Cloud Console项目的API?

时间:2014-01-24 14:21:31

标签: google-app-engine google-cloud-console

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

有谁知道如何使用它?

我认为旧版Google Eclipse插件在(未记录的)范围https://www.googleapis.com/auth/appengine.admin中获得了OAuth2令牌,这使其能够代表您生成云控制台项目。最新版本似乎没有这样做。 App Engine自己的appcfg.py也使用这个范围,但似乎没有比部署代码更多 - 我正在寻找更改项目的核心设置,例如Name,Redirect URL和Web Origins。

任何信息都将受到赞赏。

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

谢谢!

1 个答案:

答案 0 :(得分: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脚本代码?这是我无法弄清楚的部分。
  4. 一个鲜为人知的事实是每个Google Apps脚本项目都有一个与之关联的隐藏的开发者控制台项目。该项目显示在项目列表中,但 存在。它是在用户启动新的Apps脚本项目时自动创建的,而drive.insert方法足以导致这种情况发生。

    你如何进入隐藏的项目?好吧,我所知道的唯一方法是从Drive网站打开Apps Script项目,打开“Resources> Advanced Google Services”对话框,然后单击Developer Console的链接。您可以在URL中找到项目ID。

    除了没有显示在您的项目列表中且无法使用App Engine之外,这是一个正常的Developer Console项目。您可以添加其他OAuth客户端凭据,服务帐户,计算引擎实例等。当然,一旦您拥有项目ID,所有各种管理API都将起作用:创建新虚拟机,利用服务帐户的模拟能力,等