如何从已认证的凭证中获取用户ID

时间:2019-06-12 06:53:18

标签: google-oauth2

如何从经过身份验证的凭证中获取用户的ID或电子邮件?

我使用如下示例代码:

InputStream in = GmailReplyService.class.getResourceAsStream(CREDENTIALS_FILE_PATH);
if (in == null) {
    throw new FileNotFoundException("Resource not found: " + CREDENTIALS_FILE_PATH);
}
GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, new InputStreamReader(in));

// Build flow and trigger user authorization request.
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
            HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, SCOPES)
            .setDataStoreFactory(new FileDataStoreFactory(new java.io.File(TOKENS_DIRECTORY_PATH)))
            .setAccessType("offline")
            .build();

我可以在浏览器中对我的应用进行身份验证,并且我想从结果中知道用户的唯一ID。 Credential类未提供要获取的用户ID,它仅返回访问令牌。我不知道如何在它们之间进行转换。我想将用户令牌保存到数据库中,并且需要唯一的ID。 有没有人可以帮助我,非常感谢。

0 个答案:

没有答案