我正在尝试使用 Google OAuth。我正在开发在 IBM WebSphere 服务器上运行的 Web 应用程序。应用程序的框架是 SpringMVC。
我正在尝试获取 userinfo.profile。我已成功获取访问令牌,但找不到使用此令牌和获取用户信息的方法。
我正在将浏览器重定向到此 URL https://www.googleapis.com/oauth2/v2/userinfo?access_token="+access.getAccessToken();
,但出现错误
{
"error": {
"errors": [
{
"domain": "global",
"reason": "authError",
"message": "Invalid Credentials",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Invalid Credentials"
}
}
我是否可以正常使用此访问令牌,还是应该以其他形式发送请求?
我以这种方式发送请求:
GenericUrl shortenEndpoint = new GenericUrl("https://www.googleapis.com/oauth2/v2/userinfo");
HttpRequest request1 = rf.buildGetRequest(shortenEndpoint);
GoogleHeaders headers = new GoogleHeaders();
headers.setContentType("application/json; charset=UTF-8");
headers.setAuthorization("OAuth " + accessToken);
request1.setHeaders(headers);
HttpResponse shortUrl = request1.execute();
在浏览器的此 URL 中提供我的访问令牌后
https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=******
我有
{
"issued_to": "*****************",
"audience": "*****************",
"scope": "https://www.googleapis.com/auth/urlshortener",
"expires_in": 3515,
"access_type": "online"
}