tôi sẽ tải lên một đoạn video bằng cách sử dụng v3 API Youtube với curl trong PHP, như mô tả ở đây: https://developers.google.com/youtube/v3/docs/videos/insertTải lên video trên Youtube sử dụng curl và api v3
Tôi đã chức năng này
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;
}
Nhưng nó trả về số này
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
)
)
Tệp này là MP4.
Mọi người đều có thể trợ giúp?
Cảm ơn! Nỗ lực của tôi là tạo một thứ gì đó nhẹ hơn, nhưng tôi sẽ thử thư viện Google chính thức – genna
Trong Google_YoutubeService.php tôi không thể tìm thấy hàm để gọi phương thức chèn mà tôi cần. Tất cả các phương pháp đều dành cho danh sách (kênh, danh sách phát, video ..) Tôi phải đợi phiên bản mới hơn của thư viện? – genna
Tôi đã quyết định sử dụng Zend_Gdata_YouTube và phiên bản API thứ 2, do thiếu các phương pháp tôi cần cho – genna