如何访问Google帐户user_id?

时间:2012-09-12 20:54:14

标签: android oauth openid accountmanager

我想访问user_id的用户的Google帐户authentication,但我在AccountManager中没有看到任何提及此问题。

我的应用如何申请user_id

3 个答案:

答案 0 :(得分:3)

现在Google Play Services可用,您可以使用它来请求用户访问https://www.googleapis.com/auth/userinfo.profile范围的权限,并使用生成的访问令牌向https://www.googleapis.com/oauth2/v1/userinfo?access_token={accessToken}发出请求以获取他们的用户名。

答案 1 :(得分:2)

在Google Play服务发布之前,您需要使用Android帐户管理器的getAuthToken API。

以下是如何使用getAuthToken获取access_tokenhttps://stackoverflow.com/a/10988589/313790

的示例

答案 2 :(得分:1)

查看Google的AccountManager example for the Tasks API

获得访问令牌后,您可以使用google-api-java-client的oauth2 library来代替Userinfo中的this example对象,而不是使用任务库。 :

Oauth2 oauth2 = new Oauth2.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
   .setApplicationName("Google-OAuth2Sample/1.0").build();
Userinfo userinfo = oauth2.userinfo().get().execute();
String userId = userinfo.getId();