java - 如何使用 JAVA 库获取 Google API 上的用户配置文件?

标签 java google-app-engine google-api google-api-java-client userinfo

我有一个到 Google API 的 Java ClientRequest,它返回一个包含基于 access_token 的配置文件的 json。网址是:
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 服务器 url 和其他小事。
2 我不需要授权的步骤,因为此时我的方法收到了访问 token (所有的 oauth 步骤都在之前完成)。
3 在这种方法中,我们没有(目前不需要)客户端 ID 和密码。
4 我不需要 Google+ 范围。其实我宁愿不要去那里。到目前为止只找到使用 Plus 库的示例。

总而言之,我需要 google api java 库中的一些东西与现在使用的 http 请求完全相同。

非常感谢您!

最佳答案

希望对你有帮助

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();

关于java - 如何使用 JAVA 库获取 Google API 上的用户配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22516693/

相关文章:

javascript - Google Maps Javascript - 放大时禁用 3d View

google-api - 创建客户端 ID 时 "Javascript Origins"的用途是什么

java - 从 .jasper 文件获取 JasperPrint 对象

java - 向服务器发送 POST 请求

java - 如何在 Spring Boot 中将变量发送到 Controller 而不是作为表单输入

python - 当我刚刚创建数据存储时,我如何获得 'InternalError: table "dev~guestbook!!Entities"already exists"?

javascript - 如何处理动态脚本中定义的多个请求

java - 在运行时更新 Hystrix 配置

google-app-engine - appengine 以文件下载形式发送数据

android - Google Appengine Android gradle任务