Bonjour tout le monde !,
Voila je rencontre un petit problème avec mon magnifique code bien propret.
Aucun moyen d'exécuter $request, la vidéo ne se créée pas sur mon compte et j'ai un message d'erreur génialissime de clarté.
require ('youtube.php');
$youtube_settings = new YoutubeManager();
$client_id = $youtube_settings->clientID;
$client_secret = $youtube_settings->client_secret;
$client = new Google_Client();
$client->setClientId($client_id);
$client->setClientSecret($client_secret);
$client->setRedirectUri('http://foo.fr/youtube/upload');
$client->setScopes('https://www.googleapis.com/auth/youtube');
$youtube = new Google_Service_YouTube($client);
session_start();
if(isset($_GET['code'])){
$client->authenticate($_GET['code']);
$_SESSION['token'] = $client->getAccessToken();
header('Location : http://foo.fr/youtube/upload');
die();
}
if(isset($_SESSION['token'])){
$client->setAccessToken($_SESSION['token']);
}
if($client->getAccessToken()){
$snippet = new Google_Service_YouTube_VideoSnippet();
$snippet->setTitle('Test après midi');
$snippet->setDescription('Petite description');
$snippet->setTags(['tag1','tag2']);
$snippet->setCategoryId(17);
$status = new Google_Service_YouTube_VideoStatus();
$status->setPrivacyStatus('private');
$video = new Google_Service_YouTube_Video();
$video->setSnippet($snippet);
$video->setStatus($status);
$request = $youtube->videos->insert('status,snippet', $video);
} else {
$html = '<div class="panel panel-danger">
<div class="panel-heading">
<h2>Accès interdit</h2>
</div>
<div class="panel-body">
<p> Vous devez <a href="' . $client->createAuthUrl() . '"> autoriser</a> l\'application à accéder à votre compte youtube.</p>
</div>
</div>';
}
Je veux pouvoir insérer une vidéo, même vide, je m'en fiche. Mais il faut que ce fichu message disparaisse :(
Fatal error: Uncaught exception 'Google_Service_Exception' with message '{ "error": { "errors": [ { "domain": "global", "reason": "authError", "message": "Invalid Credentials", "locationType": "header", "location": "Authorization" } ], "code": 401, "message": "Invalid Credentials" } } ' in /home/foo/public_html/vendor/google/apiclient/src/Google/Http/REST.php:118 Stack trace: #0 /home/foo/public_html/vendor/google/apiclient/src/Google/Http/REST.php(94): Google_Http_REST::decodeHttpResponse(Object(GuzzleHttp\Psr7\Response), Object(GuzzleHttp\Psr7\Request), 'GoogleService...') #1 [internal function]: Google_Http_REST::doExecute(Object(GuzzleHttp\Client), Object(GuzzleHttp\Psr7\Request), 'GoogleService...') #2 /home/foo/public_html/vendor/google/apiclient/src/Google/Task/Runner.php(181): call_user_func_array(Array, Array) #3 /home/foo/public_html/vendor/google/apiclient/src/Google/Http/REST.php(58): Google_Task_Runner->run() #4 /home/foo/public_html/vendor/google/apiclient/src/Goo in /home/foxo/public_html/vendor/google/apiclient/src/Google/Http/REST.php on line 118
Merci les copains. Vous êtes d'une bravitude.
Salut,
Comme tu le dis si bien, le message est clair !
"message": "Invalid Credentials"
Tu as donc un soucis au niveau des identifiants que tu fournis à YouTube pour utiliser l'API (clientID et clientSecret).
Salut,
Merci de ta réponse, j'ai vérifié 40 fois les identifiants, les ai changés à plusieurs reprise, mais rien n'y fait. Etrange.