如何从OAuth的Latitude服务的令牌响应中获取Google用户ID?

问题描述:

我正在尝试设置服务,以便Google用户授权我的平台,然后我可以随时获取他/她的Latitude数据。如何从OAuth的Latitude服务的令牌响应中获取Google用户ID?

目前我得到GoogleTokenResponse,所以我得到访问和刷新令牌。但是,我需要识别该响应,因此如果多个用户想以某种方式同时启用该服务,则可以将令牌响应与相应的用户进行匹配。

我该怎么做到这一点?我试着解析ID令牌,但我得到一个空的异常:

GoogleIdToken gidt = tokenResponse.parseIdToken(); 

(该tokenResponse不是null;如之前所说,我可以得到没有问题的标记)。但是,API javadoc说它会返回一个模糊的用户标识,所以它不足以满足要求。

在这个问题中有详细资料缺失和很多通过此代码的路径。如果您获得ID令牌,则可以解析它并发现它属于哪个用户,请参阅http://javadoc.google-api-java-client.googlecode.com/hg/1.8.0-beta/com/google/api/client/googleapis/auth/oauth2/GoogleIdToken.html#verify(com.google.api.client.googleapis.auth.oauth2.GoogleIdTokenVerifier)