谷歌应用引擎云端点OAuth 2.0范围



我正在尝试遵循以下指南:https://developers.google.com/appengine/docs/java/endpoints/auth

我已经按照步骤并添加了客户端id和User参数,当null时我抛出OAuthRequestException异常。

当我部署到Google并使用API Explorer访问API时,在没有OAuth的情况下访问API时,我得到了预期的未经授权的异常。到目前为止,一切都很好!

建议切换OAuth 2.0开关。我这样做,我得到一个消息说:

* API没有声明任何作用域。您可以使用

下面的框手动添加作用域

消息还引导我到:http://code.google.com/apis/accounts/docs/OAuth2.html来了解更多的作用域。

但是在建议页面上关于作用域的信息非常有限。我是OAuth的新手,尽管搜索了谷歌和StackOverflow我不太清楚瞄准镜是什么?如何在API中声明on ?当我手动添加一些东西到API资源管理器提示符时,我得到一个错误消息,说它是invalid_scope。那么什么是有效作用域呢?

要使用云端点进行身份验证,您需要请求以下作用域:

https://www.googleapis.com/auth/userinfo.email

云端点库需要用户的电子邮件地址来创建一个user实体。

参考:https://developers.google.com/appengine/docs/java/endpoints/consume_js#adding-oath-authentication

@Scarygami的答案在2013年可能是正确的,现在你应该使用这个范围:

https://www.googleapis.com/auth/plus.profile.emails.read

您可以找到关于旧email范围的警告:

警告:此作用域已弃用。谷歌将不再支持此功能2014年9月1日后的范围。具体操作请参见迁移到Google+登录。

关于作用域的更多信息:https://developers.google.com/+/api/oauth

编辑:

看起来在支持旧的email作用域方面发生了一些变化。下面是实际的语句。

注意:此作用域已弃用;然而,它将被维护和保持向后兼容性。为了得到关于此更改,请参阅迁移到Google+登录。

这可能有帮助。

https://developers.google.com/drive/training/drive-apps/auth/scopes

最新更新