android – 新发布的“使用Google Play服务进行身份验证”,通过GoogleAuthUtil.getToken获取令牌的问题

前端之家收集整理的这篇文章主要介绍了android – 新发布的“使用Google Play服务进行身份验证”,通过GoogleAuthUtil.getToken获取令牌的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
更新:

刚刚通过我也用于Google App Engine的Google帐户注册了Google API,现在错误已更改为com.google.android.gms.auth.GoogleAuthException:未知

谷歌刚刚发布了一个新的方式到sign up to one’s app via a Google Account,并在他们的blogpost也给了一些解释.

我正在编写一个Android应用程序,您必须注册才能创建一个用户帐户,并且我在后端使用Google App Engine.通过播放服务,我想让用户的电子邮件附属于他们的Android设备和令牌.我可以收到电子邮件,但是,获取令牌只会引发错误,由于文档相当稀疏,我不知道如何解决这些错误.这就是我收到的电子邮件

private String[] getAccountNames() {
    mAccountManager = AccountManager.get(this);
    Account[] accounts = mAccountManager.getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
    names = new String[accounts.length];
    for (int i = 0; i < names.length; i++) {
        names[i] = accounts[i].name;
    }

    return names;
}

但是,当我打电话给token = GoogleAuthUtil.getToken(上下文,电子邮件,
“范围”,它给我这些错误
由于错误1和com.google.android.gms.auth.GooglePlayServicesAvailabilityException:GooglePlayServicesNotAvailable,GooglePlayServices不可用.

现在我的问题是,我必须设置任何权限或包含任何库来解决这个问题吗?什么是范围参数?在他们的博客文章中给出了如何获取令牌和放置在范围内的示例,将范围变量设置为“https://www.googleapis.com/auth/userinfo.profile”,但是我仍然收到相同的错误不幸.

我还注册了我的Google API控制台应用程序并启用了G API,是否还必须配置其他的东西?

解决方法

使用Google云端硬盘的Google客户端库时,我遇到了同样的问题.
解决方案很简单.只需将“oauth2:”添加到您的scopeUrl.

错误

GoogleAuthUtil.getToken(this,account.name,DriveScopes.DRIVE);

对:

GoogleAuthUtil.getToken(this,"oauth2:" + DriveScopes.DRIVE);
原文链接:https://www.f2er.com/android/313308.html

猜你在找的Android相关文章