从用户在GAE中进行身份验证中检索Google +用户信息

时间:2014-08-16 08:21:41

标签: android google-app-engine login google-api

也许我并不清楚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后端访问用户详细信息的任何提示。感谢。

0 个答案:

没有答案