If there is a JSON error response, it is parsed using TokenErrorResponse, which can
be inspected using #getDetails(). Otherwise, the full response content is read and
included in the exception message.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[],[],null,["# Exception TokenResponseException (1.39.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.39.0 (latest)](/java/docs/reference/google-oauth-client/latest/com.google.api.client.auth.oauth2.TokenResponseException)\n- [1.38.2](/java/docs/reference/google-oauth-client/1.38.2/com.google.api.client.auth.oauth2.TokenResponseException)\n- [1.37.0](/java/docs/reference/google-oauth-client/1.37.0/com.google.api.client.auth.oauth2.TokenResponseException)\n- [1.36.0](/java/docs/reference/google-oauth-client/1.36.0/com.google.api.client.auth.oauth2.TokenResponseException)\n- [1.34.1](/java/docs/reference/google-oauth-client/1.34.1/com.google.api.client.auth.oauth2.TokenResponseException)\n- [1.33.3](/java/docs/reference/google-oauth-client/1.33.3/com.google.api.client.auth.oauth2.TokenResponseException)\n- [1.32.1](/java/docs/reference/google-oauth-client/1.32.1/com.google.api.client.auth.oauth2.TokenResponseException) \n\n public class TokenResponseException extends HttpResponseException\n\nException thrown when receiving an error response from the token server as specified in [Error Response](http://tools.ietf.org/html/rfc6749#section-5.2)\n\nTo get the structured details, use [#getDetails()](/java/docs/reference/google-oauth-client/latest/com.google.api.client.auth.oauth2.TokenResponseException#com_google_api_client_auth_oauth2_TokenResponseException_getDetails__).\n\nSample usage can be found for [AuthorizationCodeTokenRequest](/java/docs/reference/google-oauth-client/latest/com.google.api.client.auth.oauth2.AuthorizationCodeTokenRequest). \n\nInherited Members\n-----------------\n\ncom.google.api.client.http.HttpResponseException.computeMessageBuffer(com.google.api.client.http.HttpResponse) \ncom.google.api.client.http.HttpResponseException.getAttemptCount() \ncom.google.api.client.http.HttpResponseException.getContent() \ncom.google.api.client.http.HttpResponseException.getHeaders() \ncom.google.api.client.http.HttpResponseException.getStatusCode() \ncom.google.api.client.http.HttpResponseException.getStatusMessage() \ncom.google.api.client.http.HttpResponseException.isSuccessStatusCode() \n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-) \n[Throwable.addSuppressed(Throwable)](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#addSuppressed-java.lang.Throwable-) \n[Throwable.fillInStackTrace()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#fillInStackTrace--) \n[Throwable.getCause()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#getCause--) \n[Throwable.getLocalizedMessage()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#getLocalizedMessage--) \n[Throwable.getMessage()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#getMessage--) \n[Throwable.getStackTrace()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#getStackTrace--) \n[Throwable.getSuppressed()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#getSuppressed--) \n[Throwable.initCause(Throwable)](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#initCause-java.lang.Throwable-) \n[Throwable.printStackTrace()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#printStackTrace--) \n[Throwable.printStackTrace(PrintStream)](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#printStackTrace-java.io.PrintStream-) \n[Throwable.printStackTrace(PrintWriter)](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#printStackTrace-java.io.PrintWriter-) \n[Throwable.setStackTrace(StackTraceElement\\[\\])](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#setStackTrace-java.lang.StackTraceElement[]-) \n[Throwable.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html#toString--)\n\nStatic Methods\n--------------\n\n### from(JsonFactory jsonFactory, HttpResponse response)\n\n public static TokenResponseException from(JsonFactory jsonFactory, HttpResponse response)\n\nReturns a new instance of [TokenResponseException](/java/docs/reference/google-oauth-client/latest/com.google.api.client.auth.oauth2.TokenResponseException).\n\nIf there is a JSON error response, it is parsed using [TokenErrorResponse](/java/docs/reference/google-oauth-client/latest/com.google.api.client.auth.oauth2.TokenErrorResponse), which can\nbe inspected using [#getDetails()](/java/docs/reference/google-oauth-client/latest/com.google.api.client.auth.oauth2.TokenResponseException#com_google_api_client_auth_oauth2_TokenResponseException_getDetails__). Otherwise, the full response content is read and\nincluded in the exception message.\n\nMethods\n-------\n\n### getDetails()\n\n public final TokenErrorResponse getDetails()\n\nReturns the token error response details or `null` if unable to parse."]]