从已保存的refreshtoken(java)恢复adwords api的oauth2凭据

时间:2013-03-27 11:33:40

标签: java oauth-2.0 google-adwords

我正在编写一个访问Adwords API的独立应用程序。 oauth2身份验证和授权工作正常。

我的问题是我想将refreshtoken保存在文本文件中,并在下次运行应用程序时直接使用它来恢复我的凭据。 refreshtoken应该有效期为14天,因此恢复访问凭证非常好。

我还没有找到一个有效的例子。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

refresh token与授权令牌没有太大区别。 OAuth2.0有几个,可用于访问服务器。常见(和savest)是所谓的授权代码流detailed info here)。

当用户第一次想要使用您的应用程序时,您的应用程序会向授权服务器询问authorization code。用户登录时将通过网站获得authorization code并授予您的应用程序访问该服务的权限。您的应用程序将此代码发送到授权服务器,以获取第一个access token(以及refresh token)。它是您发送refresh token所需的相同服务器。

现在,我不确切知道服务器的uri在你的情况下是什么,但这可以是你可以发送服务器的 POST 请求的一个例子:

 POST /o/oauth2/token HTTP/1.1
 Host: accounts.google.com
 Content-Type: application/x-www-form-urlencoded

 client_id=YOUR_CLIENT_ID_HERE&
 client_secret=YOUR_CLIENT_SECRET_HERE&
 refresh_token=THE_REFRESH_TOKEN_HERE&
 grant_type=refresh_token

如果请求有效,服务器将使用新的Access Token进行响应。 Here您可以找到有关您可以提出的具体请求的更多信息。

请记住,每个令牌(访问和刷新令牌)都必须保存。最好的方法是加密保存,发送令牌时只使用 POST 请求和 https 。但这不是你的问题。

我希望我可以帮助你。