从谷歌用户信息获取生日、性别和照片

Posted

技术标签:

【中文标题】从谷歌用户信息获取生日、性别和照片【英文标题】:Getting birthday,gender and photo from google UserInfo 【发布时间】:2013-08-30 06:56:35 【问题描述】:

我在下面的链接上得到了这个代码。

How to get userinfo with google-api after succesfully been authenticated?

     GoogleCredential credential2 = new GoogleCredential.Builder()
            .setTransport(TRANSPORT).setJsonFactory(JSON_FACTORY)
            .setClientSecrets(CLIENT_ID, CLIENT_SECRET)
            .setRequestInitializer((new HttpRequestInitializer() 
                @Override
                public void initialize(HttpRequest request)
                        throws IOException 
                    request.getHeaders().setAuthorization("Bearer ".concat(tok));
                
            ))
            .build();

    Oauth2 userInfoService = new Oauth2.Builder(TRANSPORT,
            JSON_FACTORY, credential2.getRequestInitializer())
            .setApplicationName(APPLICATION_NAME).build();

    Userinfo userInfo = userInfoService.userinfo().get().execute();
    logger.warn("User email: ", userInfo.getEmail());
    logger.warn("User gender: ", userInfo.getGender());
    logger.warn("User complet name:  - ", userInfo.getFamilyName(),     userInfo.getName());

我有一些以下问题。!

1) 你能给我步骤吗..?获得 GoogleCredential 之前的第一步是什么? 如何获得令牌..?

2)我正在使用“Google API Client Library for Java,版本 1.16.0-rc”库。 在那个 jar 文件中,我没有得到“Oauth2”类..?我需要采用哪个版本的客户端库..?

3)如果有人有 jar 示例...请重播我。

【问题讨论】:

【参考方案1】:

您用作参考的链接是在用户成功通过身份验证后。这意味着他们的用户已经有一个代码。如果您不确定如何获取,您可能应该首先专注于获取 OAuth 流程,然后等待执行 API 调用。

有许多很好的资源可以向您展示如何使用 Google API 客户端库执行 OAuth 流程(获取代码、将其交换为令牌、持久化令牌等)。我最喜欢的工具之一是 Quickstart 工具,它会为您生成一个已经实现 OAuth 代码的入门应用程序。

你可以在这里试试:https://developers.google.com/quickstart/

(请注意,它依赖于 Maven 来处理 jars/依赖项)

您还可以在此处查看图书馆的一些示例:https://code.google.com/p/google-api-java-client/source/browse/?repo=samples

【讨论】:

以上是关于从谷歌用户信息获取生日、性别和照片的主要内容,如果未能解决你的问题,请参考以下文章

从 google UserInfo 获取性别、生日、照片

在 Flutter 中使用 Google 登录获取用户的生日/性别

通过 Google API 获取用户信息

如何从谷歌地方详细信息结果中获取纬度和经度值

如何从谷歌文本到 PHP 中的语音 API 中的 URL 参数获取性别声音?

我们如何在颤振应用程序中从谷歌地图获取特定位置的照片[关闭]