Gil*_*Gil 12 android oauth-2.0
我尝试使用Google oauth在我的Android应用上验证用户身份.然后我想将它发送到我的应用服务器,以便它可以随时与Google日历连接.
我试着用
GoogleAuthUtil.getToken(getApplicationContext(), mAccountName, mScope);
关注本文:https: //developers.google.com/accounts/docs/CrossClientAuth
当我将其与范围一起使用时,
mScope = "oauth2:https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile";
我会获得一个令牌,该令牌有效一小时
但是当我尝试获取授权代码时(因此我可以获得一个有效期较长的刷新令牌,使用
mScope2 ="oauth2:server:client_id:{CLIENT_ID}.apps.googleusercontent.com"+ ":api_scope:https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile";
我收到"invalid_scope"或"Unknown"异常.
我究竟做错了什么?
编辑:好的,在谷歌API控制台上创建一个新的应用程序并将plus.login添加到范围后我得到一个代码,但由于某种原因我的服务器无法解析此令牌.绑定解析服务器时会收到有关重定向URL的错误.顺便说一句,当我使用相同的参数进行Web流程时,它可以工作.
Gil*_*Gil 11
好的,找到了解决方案,我希望Google能够提供更好的关于使用Google Oauth和Android的文档.使用Android和离线令牌时您必须了解的一些事项
创建Google客户端ID时不要在创建Web应用程序之前创建服务应用程序
最奇怪的是,要解析我服务器上的一次性授权代码,我不得不使用Android客户端ID详细信息中的重定向URL(甚至看起来不像网址),而不是来自Google API控制台上的Web客户端详细信息.
| 归档时间: |
|
| 查看次数: |
7307 次 |
| 最近记录: |