Quantcast
Channel: Active questions tagged youtube-api - Stack Overflow
Viewing all articles
Browse latest Browse all 3831

Youtube Google API Caught Google service Exception 0 message is refresh token must be passed in or set as part of setAccessTokenStack

$
0
0

I am currently facing this problem: once I authorized youtube to access my account and after saving the token in a file called "token.txt", everything runs smoothly until the token expires. My script is not able to refresh the token.

Here is the error message:

Caught Google service Exception 0 message is refresh token must be passed in or set as part of setAccessTokenStack trace is #0 /home/omqoygue/contest.diamante.live/vendor/google/apiclient/src/Client.php(321): Google\Client->fetchAccessTokenWithRefreshToken(NULL)#1 /home/omqoygue/contest.diamante.live/upload.php(40): Google\Client->refreshToken(NULL)#2 /home/omqoygue/contest.diamante.live/index.php(18): include('/home/omqoygue/...')#3 {main}

This is the part where the token is created and storage in a file:

if (isset($_SESSION['token'])) {$client->setAccessToken($_SESSION['token']);$token = json_encode($_SESSION['token']);file_put_contents('token.txt', $token);foreach ($_SESSION['token'] as $key => $value) {    echo '<code>' . $key . ":" . $value . "<br>" . '</code>';}

This is the part where the token validity is checked. If it has expired it should be updated, but this does not happen.

$token = file_get_contents('token.txt');try {    // Client init    $client = new Google_Client();    $client->setApplicationName($application_name);    $client->setClientId($client_id);    $client->setAccessType('offline');    $client->setAccessToken($token);    $client->setScopes($scope);    $client->setClientSecret($client_secret);    if ($client->getAccessToken()) {        /**         * Check to see if our access token has expired. If so, get a new one and save it to file for future use.         */        if ($client->isAccessTokenExpired()) {            $newToken = json_decode($client->getAccessToken());            $client->refreshToken($newToken->refreshToken);            file_put_contents('token.txt', $client->getAccessToken());        }

When the token expires I have to give again the permission to youtube to access my account.

I hope that someone can help me, I have already checked the other posts on the subject, but they are obsolete. Thanks to everyone.


Viewing all articles
Browse latest Browse all 3831

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>