<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _token_endpoint_request(request, token_uri, body):
 """Makes a request to the OAuth 2.0 authorization server's token endpoint. Args: request (google.auth.transport.Request):
 A callable used to make HTTP requests. token_uri (str):
 The OAuth 2.0 authorizations server's token endpoint URI. body (Mapping[str, str]):
 The parameters to send in the request body. Returns: Mapping[str, str]: The JSON-decoded response data. Raises: google.auth.exceptions.RefreshError: If the token endpoint returned an error. """

    body = urllib.parse.urlencode(body)
    headers = {
        'content-type': _URLENCODED_CONTENT_TYPE,
    }

    response = request(
        method='POST', url=token_uri, headers=headers, body=body)

    response_body = response.data.decode('utf-8')

    if response.status != http_client.OK:
        _handle_error_response(response_body)

    response_data = json.loads(response_body)

    return response_data