“Token已过期”获取Google Auth令牌

时间:2011-02-09 03:43:19

标签: android

尝试使用

获取Google身份验证令牌时,我收到以下错误消息
AccountManagerFuture<Bundle> amf = am.getAuthToken(
    accounts[0], "finance", null, activity[0], null, null
);

try
{
    auth_token = amf.getResult().getString("authtoken");
    Log.v("PORTFOLIO", "getting token...: "+auth_token);
}
catch (Exception e)
{
    e.printStackTrace();
}

我获得了一个有效的令牌,但是当我尝试使用它时,我收到了“令牌过期”错误:

V/PORTFOLIO(11970): <HTML>
V/PORTFOLIO(11970): <HEAD>
V/PORTFOLIO(11970): <TITLE>Token expired</TITLE>
V/PORTFOLIO(11970): </HEAD>
V/PORTFOLIO(11970): <BODY BGCOLOR="#FFFFFF" TEXT="#000000">
V/PORTFOLIO(11970): <H1>Token expired</H1>
V/PORTFOLIO(11970): <H2>Error 401</H2>
V/PORTFOLIO(11970): </BODY>
V/PORTFOLIO(11970): </HTML>

同时:

W/DefaultRequestDirector(11970): Authentication error: Unable to respond to any of these challenges: {googlelogin=WWW-Authenticate: GoogleLogin realm="http://www.google.com/accounts/ClientLogin", service="finance"}

我有点困惑为什么会这样,因为之前它正常工作。如何获得“未过期”令牌?我可能做的事情非常糟糕。如果有人有一个正确的身份验证令牌教程的链接,这也会有所帮助。

1 个答案:

答案 0 :(得分:0)

看起来我需要使用invalidateAuthToken()