Nie można odświeżyć tokenu dostępu: odpowiedź to „nieautoryzowany_klient”

Podczas próby odświeżenia tokenu dostępu pojawia się błąd:

400 Zła prośba

{błąd: „nieautoryzowany_klient”}

Z URI tokena Google:

{
  "error" : "invalid_request"
}

Przeczytałem tę odpowiedźtutaj oraz oficjalna dokumentacja Google (która opisuje, jakPOST żądanie powinno wyglądać) i nie widzę żadnej różnicy.

Schwytałem mojąPOST żądanie (usunięte tajemnice):

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=******

Kod Java, który wysyła żądanie:

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();

Czy coś jest nie tak?

questionAnswers(4)

yourAnswerToTheQuestion