我想访问user_id
的用户的Google帐户authentication,但我在AccountManager
中没有看到任何提及此问题。
我的应用如何申请user_id
?
答案 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_token
:https://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();