我有 Google API 的Java ClientRequest,它返回一个包含access_token基础配置文件的json。 URL为:
https://www.googleapis.com/oauth2/v1/userinfo?access_token=ya29.1.AADtN_VALuuUTBm8ENfNTz8s ...
响应是:
{ "id": "111223344556677889900", "email": "myemail@gmail.com", "verified_email": true, "name": "My Name", "given_name": "My", "family_name": "Name", "link": "plus.google.com/111223344556677889900", "picture": "photo.jpg", "gender": "male", "locale": "en" }
有些观点:
1 我想使用java库来避免挂载http请求,保留google服务器网址和其他小问题。
2 我不需要授权的步骤,因为此时我的方法会收到访问令牌(所有的oauth步骤都在之前完成)。
3 在这种方法中,我们没有(并且到目前为止并不需要)客户端ID和密码。
4 我不需要Google+范围。其实我宁愿不去那里。到目前为止,只找到了使用Plus库的示例。
总之,我需要google api java库中的某些内容与现在使用的http请求完全相同。
非常感谢您提前!
答案 0 :(得分:23)
我希望这会有所帮助
GoogleCredential credential = new GoogleCredential().setAccessToken(accessToken);
Oauth2 oauth2 = new Oauth2.Builder(new NetHttpTransport(), new JacksonFactory(), credential).setApplicationName(
"Oauth2").build();
Userinfoplus userinfo = oauth2.userinfo().get().execute();
userinfo.toPrettyString();