使用Google帐户登录Android应用

时间:2014-01-02 11:15:20

标签: android

我正在开发一个应用程序,该应用程序在登录页面中有一个按钮,可以使用Google帐户登录该应用程序。我需要访问令牌,它将在成功登录后返回。任何人都可以帮助我...

2 个答案:

答案 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”;

在那个样本中。

source

答案 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" />