vorrei caricare un video utilizzando l'API v3 Youtube con l'arricciatura in PHP, come descritto di seguito: https://developers.google.com/youtube/v3/docs/videos/insertCarica video su Youtube utilizzando curl e API v3
ho questa funzione
function uploadVideo($file, $title, $description, $tags, $categoryId, $privacy)
{
$token = getToken(); // Tested function to retrieve the correct AuthToken
$video->snippet['title'] = $title;
$video->snippet['description'] = $description;
$video->snippet['categoryId'] = $categoryId;
$video->snippet['tags'] = $tags; // array
$video->snippet['privacyStatus'] = $privacy;
$res = json_encode($video);
$parms = array(
'part' => 'snippet',
'file' => '@'.$_SERVER['DOCUMENT_ROOT'].'/complete/path/to/'.$file
'video' => $res
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.googleapis.com/upload/youtube/v3/videos');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $parms);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer '.$token['access_token']));
$return = json_decode(curl_exec($ch));
curl_close($ch);
return $return;
}
Ma restituisce questo
stdClass Object
(
[error] => stdClass Object
(
[errors] => Array
(
[0] => stdClass Object
(
[domain] => global
[reason] => badContent
[message] => Unsupported content with type: application/octet-stream
)
)
[code] => 400
[message] => Unsupported content with type: application/octet-stream
)
)
Il file è un MP4.
Chiunque può aiutare?
Grazie! Il mio tentativo è stato quello di fare qualcosa di più leggero, ma proverò la libreria ufficiale di Google – genna
Nel Google_YoutubeService.php non riesco a trovare una funzione per chiamare il metodo di inserimento di cui ho bisogno. Tutti i metodi sono per l'elenco (canali, playlist, video ..) Devo aspettare una versione più recente della libreria? – genna
Ho deciso di utilizzare Zend_Gdata_YouTube e la seconda versione dell'API, a causa della mancanza dei metodi necessari per – genna