如何使用Grails oauth插件获取访问令牌?

时间:2011-07-17 21:32:15

标签: java grails oauth access-token

我已经尝试了很长一段时间了。我能够获取请求令牌没问题。但是当我尝试将其替换为访问令牌时,我收到以下错误:

  

2011-07-17 22:19:19,649 [http-8080-1] ERROR oauth.OauthService -   无法获取访问令牌! (consumerName =谷歌,   requestToken = [键:4 / Azm6wQDW85iYVmeb4ogCAl70D_89,   秘密:Zrh9saEDJcgCo83QejOu28sU,   authUrl:HTTPS:?//www.google.com/accounts/OAuthAuthorizeToken组oauth_token = 4%2FAzm6wQDW85iYVmeb4ogCAl70D_89,   isOAuth10a:真])   oauth.signpost.exception.OAuthCommunicationException:通信   服务提供商失败:服务提供商错误地回复:   400(错误请求

以下是控制器中的代码:

   def OauthService
if (session.oauthToken == null) {
        flash.message = "The token could no be retrieved... Please try again"
        redirect(uri:"/")
    }
    def requestToken = OauthService.fetchRequestToken('google')
    def accessToken = OauthService.fetchAccessToken('google', requestToken)

我一直在玩它,但它似乎永远不会以任何方式工作。有没有人有任何想法?

1 个答案:

答案 0 :(得分:2)

如果您查看OAuth plugin docs,则会提到某些Google API要求在OAuth配置中设置scope属性(在Config.groovy中)。考虑到Google服务器正在返回400 Bad Request

,可能值得仔细检查

此外,为grails.app.service.org.grails.plugins.oauthgrails.app.controller.org.grails.plugins.oauth软件包启用调试日志记录可能会提供更多线索。