哪些Google API支持OAuth2域范围的委派?

时间:2013-11-21 16:52:58

标签: google-drive-api google-calendar-api google-oauth google-data-api google-authentication

目前正在尝试转移使用OAuth1 2LO(2 Legged OAuth)中的OAuth2。起初看起来我们无法采取行动,因为我们严重依赖2LO,几乎所有的产品API(Drive除外)都在他们的文档中有这样的信息:

  

如果您的应用程序具有某些不寻常的授权要求,例如在请求数据访问(混合)或域范围授权(2LO)的同时登录,则您当前无法使用OAuth 2.0令牌。在这种情况下,您必须使用OAuth 1.0令牌和API密钥。     - https://developers.google.com/google-apps/calendar/auth

某些较新的API(如Admin SDK API)也具有相同的消息。

在查看云端硬盘授权文档:https://developers.google.com/drive/delegation时,它明确谈到了在日历中使用域范围授权:

  

在“一个或多个API范围”字段中,输入应授予您的应用程序访问权限的范围列表(请参见下图)。例如,如果您需要对Google Drive API和Google Calendar API进行全域访问,请输入:https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/calendar

这似乎与日历auth doc直接相矛盾。有谁知道哪些其他API支持域范围的授权?

2 个答案:

答案 0 :(得分:1)

所有Google API均支持通过Google的双腿OAuth2获取的访问令牌。有关如何提供域范围委派的详细信息,请参阅Google's 2-legged OAuth2Google Drive SDK delegation 文档。

日历文档确实已经过时了,我们应尽快更新。

希望有所帮助!

答案 1 :(得分:0)

我怀疑文档已过时,任何支持OAuth2的Google API实际上都会接受域委托访问令牌。最初发布OAuth2支持时,不包括服务帐户 - 这就是现在实现域范围授权的方式。

我昨天发布了一个关于如何在Java中为Calendar API执行此操作的示例 - 其他语言/ API的说明也是如此:How to Access Google Calendar REST API v3 with Java