Я получаю сообщение об ошибке при попытке обновить токен доступа:
400 Bad Request
{ошибка: "unauthorized_client" }
Из URI маркера Google:
{
"error" : "invalid_request"
}
Я прочитал этот ответ здесь и официальную документацию 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();
Есть ли что-то не так?