已通过oAuth2(Grails/Java)身份验证的用户的Google Tasks服务对象
我正在尝试获取一个具有授权凭据的Google Tasks服务对象,以便我们可以为已经通过Google Apps Marketplace使用我们的Web应用程序注册并登录oAuth2的用户提取任务 不幸的是,我收到了401-授权-登录要求。谁能告诉我哪里出了问题 下面是我的GetTaskService方法的代码:已通过oAuth2(Grails/Java)身份验证的用户的Google Tasks服务对象,java,grails,oauth-2.0,google-api,google-tasks-api,Java,Grails,Oauth 2.0,Google Api,Google Tasks Api,我正在尝试获取一个具有授权凭据的Google Tasks服务对象,以便我们可以为已经通过Google Apps Marketplace使用我们的Web应用程序注册并登录oAuth2的用户提取任务 不幸的是,我收到了401-授权-登录要求。谁能告诉我哪里出了问题 下面是我的GetTaskService方法的代码: def httpTransport = new NetHttpTransport() def jsonFactory = new JacksonFactory(); def clien
def httpTransport = new NetHttpTransport()
def jsonFactory = new JacksonFactory();
def clientId = GOOGLE_CLIENT_ID
def clientSecret = GOOGLE_SECRET
def applicationName = APPLICATION_NAME
def tokenResponse = (TokenResponse) googleAppsNewOAuthService.getGoogleResponse()
def credential = new GoogleCredential.Builder()
.setJsonFactory(jsonFactory)
.setTransport(httpTransport)
.setClientSecrets(clientId, clientSecret)
.build()
.setFromTokenResponse(tokenResponse)
def service = new com.google.api.services.tasks.Tasks.Builder(httpTransport, jsonFactory, credential)
.setApplicationName(applicationName)
.build()
return service
googleAppsNewOAuthService.getGoogleResponse方法的代码:
public JSONElement getGoogleResponse() {
def session = RequestContextHolder.currentRequestAttributes().getSession()
Token googleAccessToken = (Token) session[oauthService.findSessionKeyForAccessToken('google')]
log.info "Google Access Token: ${googleAccessToken.token}"
if(googleAccessToken == null) {
return null
}
def googleResource = oauthService.getGoogleResource(googleAccessToken, "https://www.googleapis.com/oauth2/v1/userinfo" )
def googleResponse = JSON.parse(googleResource?.getBody())
return googleResponse
}
。。。由此产生的GoogleJsonResponseException:
{
"code" : 401,
"errors" : [ {
"domain" : "global",
"location" : "Authorization",
"locationType" : "header",
"message" : "Login Required",
"reason" : "required"
} ],
"message" : "Login Required"
}
at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)