如何在没有浏览器重定向的情况下获取Google API的访问令牌

时间:2014-02-26 16:40:23

标签: google-api google-oauth

我想将用户配置为Google。因此我遵循Google admin sdk来实现这一目标。

但是请求API的授权我无法进行浏览器重定向并直接向用户请求登录和同意。

我想要的是,当管理员创建一个新用户时,应该使用公司的IdP创建用户,并且IdP也需要关心为新用户创建Google帐户。

我跟着this解释了获取访问令牌的不同场景,但我注意到没有任何类似于password \ resource_owner授权类型的场景,这与我的情况相符。

有没有办法在没有浏览器重定向的情况下获取访问令牌?或者有任何解决方法吗? (Google Apps Directory Sync不是解决方案,因为它仅支持ldap,但我希望为我们的IdP创建类似的那样)

提前致谢。

1 个答案:

答案 0 :(得分:6)

服务帐户是否适用于您的案例?使用服务帐户,您可以模拟拥有Admin SDK所有权限的超级管理员。由于它是2LO,因此无法重定向并要求您的管理员进行访问。 (注意:初始设置将要求超级管理员专门为管理控制台中的服务帐户授予OAuth访问权限。但这只是一次性事项)

Drive API文档就如何使用服务帐户模拟用户提供了一个很好的示例。它包含有关如何创建服务帐户的步骤,还包括多个代码示例。唯一的问题是您必须从Drive API将范围更改为Admin SDK。

https://developers.google.com/drive/web/delegation