Google Drive API - 无效的授权:错误的请求

I was trying to implement the Google Drive API using PHP. Here is my goal,

  1. Request a Google Drive folder id from the user
  2. Once entered, authenticate the user and get the authorization code
  3. Fetch and set the access token to get the file detail from the folder

Here the code sample,

PHP

public $google_client;

function __construct(){
    $this->google_client = new Google_Client();
    $this->google_client->setApplicationName(APPLICATION_NAME);
    $this->google_client->setScopes(SCOPES);
    $this->google_client->setAuthConfig(CLIENT_SECRET_PATH);
    $this->google_client->setAccessType('offline');
}

function get_drive_auth_url(){
    $folder_id = trim($_POST['folder_id']) || null;
    $auth_code = trim($_POST['auth_code']) || null;

    if(!$folder_id || !$auth_code){
        $auth_url = $this->google_client->createAuthUrl();
        $response = array('type' => true, 'message' => 'success', 'data' => $auth_url);
        echo json_encode($response);
        exit();
    } else {
        $access_token = $this->google_client->fetchAccessTokenWithAuthCode($auth_code);
        print_r($access_token);
        exit();
    }

}

JS

var folder_id = jQuery(this).val() || '';
if(!folder_id){
    alert('Please provide a valid folder id.');
    return false;
}

// AJAX Request to fetch the auth url
jQuery.ajax({
    url: woocommerce_params.ajax_url,
    method: 'POST',
    dataType: 'json',
    data: {
        action: 'get_drive_auth_url'
    },
    success:function(response) {
        var url = response.data || '';
        if(!url){
            return false;
        }

        window.open(url, 'Google Drive Authorization', 'width=600,height=350', true);
        var auth_code = prompt('Please provide the authorization code.');
        if(auth_code){
            //AJAX Request to pass the folder id and auth code
            jQuery.ajax({
                url: woocommerce_params.ajax_url,
                method: 'POST',
                dataType: 'json',
                data: {
                    action: 'get_drive_auth_url',
                    auth_code: auth_code,
                    folder_id: folder_id
                },
                success:function(res) {
                    console.log(res);
                },
                error: function(errorThrown){ console.log(errorThrown);
                    alert('Error: ' + errorThrown.status + ' ' + errorThrown.statusText);
                }
            });
        }
    },
    error: function(errorThrown){
        alert('Error: ' + errorThrown.status + ' ' + errorThrown.statusText);
    }
});

Error

Array( [error] => invalid_grant [error_description] => Bad Request)

Appreciate your help!

It was my mistake,

Replace below code,

$folder_id = trim($_POST['folder_id']) || null;
$auth_code = trim($_POST['auth_code']) || null; // This returns 1

to

$folder_id = trim($_POST['folder_id']);
$auth_code = trim($_POST['auth_code']); // This return the actual auth code