我是否需要 OAuth2.0 才能通过 Admin SDK API 创建一个 google 帐户?

Do I need OAuth2.0 to create a google account through the Admin SDK API?

目前正在使用 4 月 20 日折旧的预配 API。

这是当前流程:

  1. 用户(大学校友)访问我们的网站http://alumni.columbia.edu/email
  2. 他们点击创建我的帐户
  3. 他们使用我们称之为 UNI 的方式通过我们大学的 WIND 系统进行身份验证
  4. 他们登陆了一个页面,上面提到一个电子邮件帐户 UNI@caa.columbia.edu 已准备好创建。他们可以为 UNI 选择一个别名。他们还需要输入密码才能使用 Gmail 的聊天和 POP 邮件功能。
  5. 他们确认帐户的创建。此时正在使用 https://www.google.com/a/feeds/ 调用 API,一些数据(电子邮件地址、姓名、ID)被保存在我们的数据库中。
  6. 要登录,他们会通过我们的网站,单击登录按钮,这将使用 SSO,他们会登录。

根据上面的流程,我需要使用OAuth2.0吗?

是的,您需要 authenticate with OAuth using the Installed Applications approach to do this. Instead of step 5 the way you currently have it, you'll need to call the API from a process on your server with an account that has (limited) admin credentials that can create the account with the Directory API。为此,您需要保留帐户将用于连接的 OAuth 令牌信息,并在令牌过期时处理代码以刷新令牌。

第一次 运行 您的代码需要手动验证该帐户以使您的应用程序获得适当的权限,以便可以存储它们。

如果您不希望在处理身份验证方面过于疯狂并且您使用的是 .Net,我建议您查看我的项目 gShell that acts as a wrapper for the authentication and handles the token storing and refreshing for you. It's still a young project but it should fit your needs. Alternately, feel free to browse the code 以获取有关如何操作的示例.

如果您打算使用 Python,请查看 Google Apps Manager by jay0lee 这也是一个很好的资源。