2012-02-21 101 views

回答

5

https://developers.google.com/accounts/docs/OAuth2

按照谷歌的文档的OAuth2,可以通过设置多个范围要做到这一点,但被警告,这是不是一个快乐的体验。

在发出请求时,将范围参数设置为多个范围,每个范围由一个空格分隔。

例: “https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://www.google.com/m8/feeds”

目前,您可以在这里找到作用域列表:https://developers.google.com/gdata/faq

不幸的是,API访问不是相加,这意味着,如果你要求的谷歌联系人API访问令牌,再后来就为相同的应用程序询问了谷歌个人资料API的访问令牌,你将以两个访问令牌结束,并且都不能用于访问其他API。 Facebook至少有正派的态度让你回到一个单一的访问令牌,授予访问目前所有授予的权限。因为这个原因,你不得不跟踪多个访问令牌(因为它们很快到期),或者事先要求你提供所有权限,这是用户体验的灾难。

如果您想要进行紧密且多方面的整合,那么Google API目前已经分散且截然不同,因此无法正常工作。

+1

这可能是一个迟到的反应,但可以澄清一些问题与多个范围是什么?我经常使用多个范围,并没有发现任何问题。 问题纯粹是关于范围赠款不是累加的问题吗?您可以随时ping https://www.googleapis.com/oauth2/v1/tokeninfo查看令牌的范围,然后将新范围添加到该范围。简单的解决方法。但是,一般而言,最简单和最简单的方式是提前请求所有范围,以便作为开发人员和最终用户的清洁人员更容易。 – 2013-09-09 13:21:14

+0

避免“一刀切”的令牌。推荐的最佳做法是帮助用户了解过程并提高他们批准访问请求的可能性,即在需要访问时尽可能使用最少数量的范围。因此,与arun相比,您应该在授予完成后的每个时间点使用离散令牌。根据我的经验,这并没有导致“噩梦”的发生。您应该存储由用户和API范围键入的刷新令牌,以便您知道在哪种情况下使用哪个令牌。图书馆应该照顾获取令牌。 – 2013-09-10 19:53:30

+0

例如,当您将其与Facebook的API进行比较时,您可以稍后再请求其他范围,并返回授予用户授予的整个范围的单个令牌一段时间,但我发现很难相信您会考虑处理多个令牌的优势。我希望从文中可以清楚地看到“一刀切”的代币是不好的,但我确实认为,当您稍后要求“及时”更多的权限时,您不应因处理多个代币而受到惩罚。很高兴这对你来说不是一场噩梦;也许我应该加上“YMMV”:) – majelbstoat 2013-09-26 16:11:18

相关问题