我正在开发一个应用程序,该应用程序在登录页面中有一个按钮,可以使用Google帐户登录该应用程序。我需要访问令牌,它将在成功登录后返回。任何人都可以帮助我...
答案 0 :(得分:1)
您可能希望使用设备中已配置的某个Google帐户对用户进行身份验证,就像某些应用程序那样,请按照以下链接进行 -
“验证OAuth2服务” - link 从Google下载示例 - Android SDK Manager / Extras / Google Play服务
简单的步骤
显示移动设备中的帐户列表 从所选帐户生成访问令牌 通过联系谷歌服务(单独呼叫)获取访问令牌的帐户名称,告诉它已经过身份验证。 这是另一个很好地解释过程的链接link 您可以按照以下步骤在您的应用中登录
您将生成的访问令牌发送到后端服务器 后端服务器通过此url
联系Google服务,检查访问令牌是否有效下一步后端服务器响应应用程序是否使用户登录。 以下是“userinfo”调用的响应格式
您将得到以下回复
{
"id": "ID",
"name": "NAME",
"given_name": "GiVEN NAME",
"family_name": "FAMILY_NAME",
"link": "https://plus.google.com/ID",
"picture": "https://PHOTO.jpg",
"gender": "GENDER",
"locale": "LOCALE"
}
如果您想要电子邮件ID以及该响应,则必须修改
SCOPE =“oauth2:https://www.googleapis.com/auth/userinfo.profile”;
到
SCOPE =“oauth2:https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email”;
在那个样本中。
答案 1 :(得分:1)
您将获得与您的手机同步的所有Google帐户
AccountManager accountManager = AccountManager.get(YourActivity.this);
Account[] accountsByType = accountManager
.getAccountsByType("com.google");
检查this,这对您有帮助,
注意不要忘记添加权限
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />