1

我想访问用户的 Google 帐户user_id进行身份验证,但在AccountManager.

我的应用程序如何请求user_id

4

3 回答 3

3

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

于 2012-09-12T20:57:32.877 回答
2

在 Google Play 服务发布之前,您需要使用 Android AccountManager 的getAuthToken API。

这是一个如何使用 getAuthToken 获取的示例access_tokenhttps ://stackoverflow.com/a/10988589/313790

于 2012-09-12T21:16:32.970 回答
1

查看 Google 的Tasks API 的 AccountManager 示例

获得访问令牌后,您可以使用 google-api-java-client 的oauth2 库来请求Userinfo对象,而不是使用 Tasks 库,如下例所示

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();
于 2012-09-12T21:23:03.693 回答