【发布时间】:2012-12-02 01:25:16
【问题描述】:
当我尝试刷新访问令牌时出现错误:
400 错误请求
{错误:“unauthorized_client”}
来自 Google 令牌 URI:
{
"error" : "invalid_request"
}
我阅读了这个答案 here 和 Google 官方文档(描述了 POST 请求的外观),我没有发现任何区别。
我捕获了我的POST 请求(已删除秘密):
POST /SHOWMERAWPOST HTTP/1.1
User-Agent: Google-HTTP-Java-Client/1.10.3-beta (gzip)
Pragma: no-cache
Host: requestb.in
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 175
Connection: keep-alive
Cache-Control: no-cache
Accept-Encoding: gzip
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
grant_type=refresh_token&refresh_token=******&client_id=*******.apps.googleusercontent.com&client_secret=******
发送请求的Java代码:
RefreshTokenRequest req = new RefreshTokenRequest(new NetHttpTransport(), new JacksonFactory(), new GenericUrl(
getSecrets().getDetails().getTokenUri()), REFRESH_TOKEN);
req.set("client_id", getSecrets().getDetails().getClientId());
req.set("client_secret", getSecrets().getDetails().getClientSecret());
TokenResponse response = req.execute();
有什么问题吗?
【问题讨论】:
-
你找到答案了吗,得到同样的错误 (stackoverflow.com/questions/13878605/…)
-
我不需要模拟用户,我只发送带有刷新令牌的客户端和秘密 ID。那是不同的情况。
标签: google-api oauth-2.0 google-api-java-client