我正在开发一个使用GoogleAccountCredential登录,上传和播放的模块将文件下载到GoogleDrive。
我希望在我的登录功能上显示用户名,谷歌帐户的姓氏和头像。
我试过
GoogleAccountCredential.getAccountName()
但它只返回帐户名称。
关于OAuth 2.0,但不确定它能提供我需要的东西。
不知道从哪里获得这些信息,任何建议也对我有所帮助。如果有一些例子那就太棒了
答案 0 :(得分:11)
使用范围https://www.googleapis.com/auth/userinfo.profile
向https://www.googleapis.com/oauth2/v1/userinfo?alt=json
你会得到
{
"id": "xx",
"name": "xx",
"given_name": "xx",
"family_name": "xx",
"link": "xx",
"picture": "xx",
"gender": "xx",
"locale": "xx"
}
以下文档中还有特定于语言的工作代码:Retrieving and Using OAuth 2.0 Credentials。
玩得开心!
答案 1 :(得分:4)
要获取此信息,您必须使用Google+ Sign In,这会在成功登录时为您提供PlusClient个对象。然后,您可以使用PlusClient.getCurrentPerson检索Person(具有getName()和getImage()方法的人)和PlusClient.getAccountName()来获取accountName
,您将使用与使用GoogleAccountCredential
:
String accessToken = GoogleAuthUtil.getToken(context, accountName, OAUTH2_SCOPE);
final GoogleCredential credential = new GoogleCredential();
credential.setAccessToken(accessToken);
Drive driveConnection = new Drive.Builder(AndroidHttp.newCompatibleTransport(),
new GsonFactory(), credential).setApplicationName(APP_NAME).build();
答案 2 :(得分:2)
Google似乎已弃用JunYoung提到的有利于Google+登录的userinfo端点。他们将在2014年8月前停止支持userinfo端点。有关详细信息,请参阅以下链接: