Android 使用谷歌凭据登录我的应用程序

标签 android google-account

您好,我正在开发一个应用程序,我想允许用户使用他的 Google 帐户登录我的服务器,而无需向他询问凭据,因为我知道这些凭据已保存到 AccountManager 类中。 问题是我不知道如何对用户进行身份验证,因为帐户 ID 仅存储在 Google 的服务器中,所以我在哪里可以找到该帐户的 ID 以及如何使用它来对用户进行身份验证?我想按照以下步骤操作:用户选择一个存储的帐户,我得到一个 ID,将它从终端发送到服务器,然后我回答“他信任”这个用户,之后我将这个 ID 保存在我的服务器并向 Google 请求授权 token ,以便在我的服务器和 Android 设备上的应用程序之间使用它。

最佳答案

这是你想要的吗?

List<String> googleAccounts = new ArrayList<String>();
Account[] accounts = AccountManager.get(this).getAccounts();
for (Account account : accounts) {
  if (account.type.equals("com.google")) {
    googleAccounts.add(account.name);
  }
}

您可以在谷歌开源的 ChromeToPhone 应用程序代码中看到更详细的示例:http://www.google.com/codesearch/p?hl=en#JWblrwroAxw/trunk/android/src/com/google/android/apps/chrometophone/MainActivity.java&l=311

关于Android 使用谷歌凭据登录我的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4553004/

相关文章:

Android 下载管理器不适合我

android - Android 应用程序的付费和免费版本

authentication - Google 多帐户登录将如何实现?

android - GoogleAccountCredential setSelectedAccountName 但仍然为空

android - 我可以使用 AccountManager 让用户使用他们的 Google 帐户登录吗?

java - Android-Gradle-app:transformResourcesWithMergeJavaResForDebug java.util.zip.ZipException

Android HttpClient、DefaultHttpClient、HttpPost

Android,如何合并两个自定义的ArrayList?

android - 在 Android 上从 Google 跨客户端身份验证获取代码

php - 使用 Google 帐户登录