1

J'utilise le code dans cette page https://developers.google.com/youtube/v3/code_samples/php#upload_a_video pour télécharger une vidéo sur youtube. mais je ne peux pas trouver loin de mettre la vidéo téléchargée à une playlist existe déjà.Comment ajouter une vidéo YouTube à une playlist via YouTube officiel SDK

Je trouve cette classe Google_Service_YouTube_Resource_PlaylistItems qui a méthode insert mais je n'ai pas la moindre idée comment l'utiliser

ce que je suis venu avec

   $resourceId = new \Google_Service_YouTube_ResourceId(); 
       $resourceId->setVideoId($status["id"]); 
       $resourceId->setKind('youtube#video'); 



       $playlistItemSnippet = new \Google_Service_YouTube_PlaylistItemSnippet(); 
       $playlistItemSnippet->setTitle('First video in the test playlist'); 
       $playlistItemSnippet->setPlaylistId($playlistId); 
       $playlistItemSnippet->setResourceId($resourceId); 


       $playlistItem = new \Google_Service_YouTube_PlaylistItem(); 
       $playlistItem->setSnippet($playlistItemSnippet); 
       $playlistItemResponse = $youtube->playlistItems->insert(
        'snippet,contentDetails', $playlistItem, array()); 

ce fut la réponse

object(GuzzleHttp\Psr7\Request)#698 (7) { 
    ["method":"GuzzleHttp\Psr7\Request":private]=> 
    string(4) "POST" 
    ["requestTarget":"GuzzleHttp\Psr7\Request":private]=> 
    NULL 
    ["uri":"GuzzleHttp\Psr7\Request":private]=> 
    object(GuzzleHttp\Psr7\Uri)#749 (7) { 
    ["scheme":"GuzzleHttp\Psr7\Uri":private]=> 
    string(5) "https" 
    ["userInfo":"GuzzleHttp\Psr7\Uri":private]=> 
    string(0) "" 
    ["host":"GuzzleHttp\Psr7\Uri":private]=> 
    string(18) "www.googleapis.com" 
    ["port":"GuzzleHttp\Psr7\Uri":private]=> 
    NULL 
    ["path":"GuzzleHttp\Psr7\Uri":private]=> 
    string(25) "/youtube/v3/playlistItems" 
    ["query":"GuzzleHttp\Psr7\Uri":private]=> 
    string(29) "part=snippet%2CcontentDetails" 
    ["fragment":"GuzzleHttp\Psr7\Uri":private]=> 
    string(0) "" 
    } 
    ["headers":"GuzzleHttp\Psr7\Request":private]=> 
    array(3) { 
    ["Host"]=> 
    array(1) { 
     [0]=> 
     string(18) "www.googleapis.com" 
    } 
    ["content-type"]=> 
    array(1) { 
     [0]=> 
     string(16) "application/json" 
    } 
    ["X-Php-Expected-Class"]=> 
    array(1) { 
     [0]=> 
     string(35) "Google_Service_YouTube_PlaylistItem" 
    } 
    } 
    ["headerNames":"GuzzleHttp\Psr7\Request":private]=> 
array(3) { 
    ["content-type"]=> 
    string(12) "content-type" 
    ["host"]=> 
    string(4) "Host" 
    ["x-php-expected-class"]=> 
    string(20) "X-Php-Expected-Class" 
    } 
    ["protocol":"GuzzleHttp\Psr7\Request":private]=> 
    string(3) "1.1" 
    ["stream":"GuzzleHttp\Psr7\Request":private]=> 
    object(GuzzleHttp\Psr7\Stream)#730 (7) { 
    ["stream":"GuzzleHttp\Psr7\Stream":private]=> 
    resource(589) of type (stream) 
    ["size":"GuzzleHttp\Psr7\Stream":private]=> 
    NULL 
    ["seekable":"GuzzleHttp\Psr7\Stream":private]=> 
    bool(true) 
    ["readable":"GuzzleHttp\Psr7\Stream":private]=> 
    bool(true) 
    ["writable":"GuzzleHttp\Psr7\Stream":private]=> 
    bool(true) 
    ["uri":"GuzzleHttp\Psr7\Stream":private]=> 
    string(10) "php://temp" 
    ["customMetadata":"GuzzleHttp\Psr7\Stream":private]=> 
    array(0) { 
    } 
    } 
} 

Note: Je peux télécharger une vidéo via l'API afin que l'authentification et la connexion et toutes les exigences de base est OK

Répondre

0

Voici un point de départ du SO post.

Ceci est le code qui résout le problème de l'utilisateur.

$(function() { 
    $('input.Chilltrap').on('click', function(e) { 
     var chilltrap = this.id;  
     if($("input[name=" + chilltrap + "]").prop('checked')) { 
      checkboxstatusCt = "Yes"; 
     } 
     else { 
      checkboxstatusCt = "No"; 
     } 
     var url = "url.php"; 
     var params = "c="+checkboxstatusCt+"&s="+chilltrap; 
     if (window.XMLHttpRequest) { 
      xmlhttp = new XMLHttpRequest(); 
     } else { 
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {       
       $("#error").html(xmlhttp.responseText); 
       $("#error"). fadeIn('fast'); 
       setTimeout(function(){ 
        $("#error"). fadeOut('slow'); 
       },2000); 
      } 
     }; 
     xmlhttp.open("GET", url+"?"+params,true); 
     xmlhttp.send(); 
    }); 
}); 

Vous pouvez également consulter certains articles connexes ci-dessous pour savoir comment ils peuvent télécharger des vidéos dans une liste de lecture.

+0

Je lis déjà les liens avant l'affichage de la question et ils ne sont pas en rapport avec le problème que j'ai. et je ne sais pas ce que le code que vous avez posté fait même !! –

+0

@DiaaSaada Avez-vous résolu votre problème? Si oui, veuillez poster la solution parce que je suis confronté au même problème. – semsem

+0

oui.J'ai fait, en ré-initialisé '$ client' et le' service $ avant de définir la liste de lecture –