ele*_*nor 8 android picasa google-api accountmanager
我正在编写一个Android应用程序,它使用AccountManager来获取令牌.从Android应用程序我可以与谷歌Picasa进行交互 - 它工作正常.
我想要实现的目的是:将一些text + authToken发送到我的第三方服务器,然后在保存文本之前检查令牌是否正确.现在的问题是:是否有可能确定特定令牌的authToken是否仅在令牌本身(可能是电子邮件地址)上是正确的.
我已经编写了服务器部分,它接受令牌(从android应用程序发送),然后向URL地址发出请求:
https://accounts.google.com/o/oauth2/tokeninfo?access_token=%token_here%
Run Code Online (Sandbox Code Playgroud)
我得到的是以下JSON:
{
"error" : "invalid_token"
}
Run Code Online (Sandbox Code Playgroud)
但是这里的链接http://oauthssodemo.appspot.com/step/4表明,如果令牌是正确的,我应该收到不同的JSON响应.你能告诉我我做错了什么:我相信检查令牌有效性的方法真的不是那么简单,但我宁愿实现整个openid或其他东西.即使是这种情况,如何检查Android应用程序发送的令牌是否正确,这样我就可以保存消息的"文本"部分.
谢谢.
停止使用AccountManager并开始使用Google Play服务的GoogleAuthUtil类,然后变得简单.请参阅http://android-developers.blogspot.ca/2013/01/verifying-back-end-calls-from-android.html
解决方法如下。您可以通过以下网址验证令牌:
https://accounts.google.com/o/oauth2/tokeninfo?access_token=%token_here%
Run Code Online (Sandbox Code Playgroud)
但就我而言,我试图验证“授权代码”而不是“访问令牌”,如下所示:https: //code.google.com/oauthplayground/
如果您使用的是 Android 和 OAuth,请勿使用
lh2
Run Code Online (Sandbox Code Playgroud)
而是使用以下内容作为服务名称:
http://picasaweb.google.com/data/
Run Code Online (Sandbox Code Playgroud)
所以你应该按如下方式调用 getAuthToken
getAuthToken(account, "http://picasaweb.google.com/data/" , true, null, null);
Run Code Online (Sandbox Code Playgroud)
然后,您可以在上面发布的 URI 上验证从此调用收到的令牌。
| 归档时间: |
|
| 查看次数: |
5664 次 |
| 最近记录: |