【问题标题】:How to read Google+ profile and email scope data with GoogleTokenResponse in Java?如何使用 Java 中的 GoogleTokenResponse 读取 Google+ 个人资料和电子邮件范围数据?
【发布时间】:2014-12-06 08:37:33
【问题描述】:
我的目标是使用 OAuth2 在我的服务器上读取用户的 Google 个人资料和电子邮件数据(普通的 Gmail 帐户,而不是 Google+ 帐户,如果用户没有的话)。
我使用了以下准则:
最后,我现在在我的服务器上有一个GoogleTokenResponse Java 对象,我可以用它来从 Google 服务器读取配置文件和电子邮件数据...如果我知道怎么做的话。
在 Java 中使用 Google Java API 最简洁的方法是什么?
【问题讨论】:
标签:
java
oauth-2.0
google-plus
google-oauth
google-api-java-client
【解决方案1】:
好的,最后很明显,但是我花了一些时间来弥补在整理 OAuth2 内容以获取示例应用程序中的 tokenResponse 和实际从 Google API 读取数据之间的差距.
在我的例子中,关键是在Google APIs Client Library for Java 中找到 Google+ API 的 Javadoc。然后剩下的就简单了:
GoogleCredential cred = new GoogleCredential().setFromTokenResponse(tokenResponse);
Plus plus = new Plus.Builder(TRANSPORT, JSON_FACTORY, cred)
.setApplicationName(APPLICATION_NAME).build();
Person person = plus.people().get("me").execute();
List<Emails> emails = person.getEmails();
String name = person.getDisplayName();
String emailAddr = emails.get(0).getValue();