Небольшой скрипт, написанный давным-давно на PHP, работающий с Youtube-API. Позволяет загружать видео сразу с сервера...
<?php $yt_email = "your_acc@gmail.com"; // Логин $yt_password = "passssssss"; // Пароль $file='/root/video/9may.mov'; // Путь до файла $yt_video_title = "Video Title"; // Название $yt_video_description = "Video description"; // Описание $yt_video_category = "News"; // Категория $yt_video_keywords = "Актобе, Май"; // Теги $koder_key = "..................."; // Ключ получаем тут: http://code.google.com/apis/youtube/dashboard/ $zaprosdata = "Email=".$yt_email."&Passwd=".$yt_password."&service=youtube&source=Example"; $curl = curl_init("https://www.google.com/youtube/accounts/ClientLogin"); curl_setopt($curl, CURLOPT_HEADER, "Content-Type:application/x-www-form-urlencoded"); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $zaprosdata); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); $response = curl_exec($curl); curl_close($curl); list($auth, $ytuser) = explode("\n", $response); list($authlabel, $authvalue) = array_map("trim", explode("=", $auth)); list($ytuserlabel, $ytuservalue) = array_map("trim", explode("=", $ytuser)); $data = '<?xml version="1.0"?> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007"> <media:group> <media:title type="plain">'.$yt_video_title.'</media:title> <media:description type="plain">'.$yt_video_description.'</media:description> <media:category scheme="http://gdata.youtube.com/schemas/2007/categories.cat">'.$yt_video_category.'</media:category> <media:keywords>'.$yt_video_keywords.'</media:keywords> </media:group> </entry>'; $headers = array("Authorization: GoogleLogin auth=".$authvalue,"GData-Version: 2","X-GData-Key: key=".$koder_key,"Content-length: ".strlen($data),"Content-Type: application/atom+xml; charset=UTF-8"); $curl = curl_init("http://gdata.youtube.com/action/GetUploadToken"); curl_setopt($curl, CURLOPT_USERAGENT, "nmsk.dp.ua Browser"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_TIMEOUT, 10); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_REFERER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_HEADER, 0); $response = simplexml_load_string(curl_exec($curl)); curl_close($curl); echo "Uploading...\n"; $ch = curl_init(); $data = array('token'=>$response->token,'file'=>'@'.$file); curl_setopt($ch, CURLOPT_URL, $response->url."?nexturl=".urlencode("http://nmsk.dp.ua")); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_REFERER, 'http://nmsk.dp.ua'); curl_setopt($ch, CURLOPT_HEADER, 1); $data = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo "Complete...\n\nMore:\n"; echo $data; echo "\n"; ?>
Источник: Загружаем видео на Youtube, с помощью PHP