我已经尝试了很长一段时间了。我能够获取请求令牌没问题。但是当我尝试将其替换为访问令牌时,我收到以下错误:
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)
我一直在玩它,但它似乎永远不会以任何方式工作。有没有人有任何想法?
答案 0 :(得分:2)
如果您查看OAuth plugin docs,则会提到某些Google API要求在OAuth配置中设置scope
属性(在Config.groovy
中)。考虑到Google服务器正在返回400 Bad Request
。
此外,为grails.app.service.org.grails.plugins.oauth
和grails.app.controller.org.grails.plugins.oauth
软件包启用调试日志记录可能会提供更多线索。