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

Uploading video to Youtube using Youtube Data API V3 and Google API Client PHP -- getting 401 (unauthorized) message

$
0
0

I have to implement a way to upload video from our site to youtube. I already registered the app in Google Cloud and got all the necessary client ID, client secret code, browser key, redirect uri and server key. I also did turn ON the Youtube Data API V3, Google+ API, Freebase API and YouTube Analytics API as suggessted by various sites.

Here is my code below:

    require_once 'google-api-php-client/src/Google_Client.php';    require_once 'google-api-php-client/src/contrib/Google_YouTubeService.php';    $client = new Google_Client();    $client->setApplicationName('Application Name');    $client->setClientId('CLIENT_ID');    $client->setClientSecret('CLIENT_SECRET_CODE');    $client->setRedirectUri('REDIRECT_URI');    $client->setDeveloperKey('DEVELOPER_KEY');    $youtube = new Google_YouTubeService($client);    if (isset($_GET['code'])) {        $client->authenticate();        $_SESSION['token'] = $client->getAccessToken();        $redirect = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];        header('Location: ' . filter_var($redirect, FILTER_SANITIZE_URL));    }    if (isset($_SESSION['token'])){        $client->setAccessToken($_SESSION['token']);    }    if ($client->getAccessToken()){        $path_to_video_to_upload = $_FILES["video"]["tmp_name"];        $mime_type = $_FILES["video"]["type"];        $snippet = new Google_VideoSnippet();        $snippet->setTitle('Highlights');        $snippet->setDescription('Description Of Video');        $snippet->setTags(array('training', 'Soccer'));        $snippet->setCategoryId(17);        $status = new Google_VideoStatus();        $status->privacyStatus = "private";        $video = new Google_Video();        $video->setSnippet($snippet);        $video->setStatus($status);        try {            $obj = $youtube->videos->insert("status,snippet", $video,            array("data"=>file_get_contents($path_to_video_to_upload), "mimeType" => $mime_type));            } catch(Google_ServiceException $e) {            print "Caught Google service Exception ".$e->getCode(). " message is ".$e->getMessage()."<br>";            }    $_SESSION['token'] = $client->getAccessToken();    }    else{            $authUrl = $client->createAuthUrl();            print "<a href='$authUrl'>Connect Me!</a>";    }

I was referencing these codes from:Upload video to Youtube using Youtube API V3 and PHP

and

http://www.dreu.info/blog/uploading-a-video-to-youtube-through-api-version-3-in-php/

First time I ran this code, it had me connect to the youtube account (with a screen asking to let google manage my YT account) and then on the second try, I got this 401 Message response.

Here's the response from youtube server

Caught Google service Exception 401 message is Error calling POST https://www.googleapis.com/upload/youtube/v3/videos?part=status%2Csnippet&uploadType=multipart&key=AIzaSyCCySI5cToH3sICTmhCEFHW7QkIDptsjXg: (401) Unauthorized

I tried to search for various solutions but to no avail I cant seem to find it.Any help is appreciated, thanks!

follow-up question: Is the developer key the browser key or the server key? I am confused as to which should I use in my code. I've tried switching the keys and it also didn't work.


Viewing all articles
Browse latest Browse all 3637

Trending Articles



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