微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.jb51.cc/android/313308.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐