也许我并不清楚Google API和OAuth2是如何运作的,但我无法使用Google+ API客户端库提取用户个人资料信息。我尝试做的是使用Android客户端登录我的GAE项目,然后从后端检索有关用户配置文件(名字和姓氏)的一些信息。这有可能吗?我尝试使用关键字" me"在我的api电话中,但我认为这不是正确的路线,因为api呼叫返回的只是我的电子邮件而所有其他字段都是空白的;我知道他们都在我的个人资料中填写。这是因为我在开发服务器上吗?
以下是我检索用户个人资料的功能:
private Person retrieveUserInfo(User user) throws IOException, GeneralSecurityException{
// Set up the HTTP transport and JSON factory
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
GoogleCredential credential = new GoogleCredential.Builder().setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId("146433070678-dpj18aug5amtqqfqcnmnco4lne91uii5@developer.gserviceaccount.com")
.setServiceAccountScopes(Collections.singleton(PlusScopes.USERINFO_PROFILE))
.setServiceAccountPrivateKeyFromP12File(new File("secretkey.p12"))
.build();
// Set up the main Google+ class
Plus plus = new Plus.Builder(httpTransport, jsonFactory, credential)
.setApplicationName("no_app_id")
.build();
// Make a request to access your profile and display it to console
Person profile = plus.people().get("me").execute();
return profile;
}
我很感激有关从GAE后端访问用户详细信息的任何提示。感谢。