[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Добавление видео на Youtube
maximum7
Добрый день,

Есть необходимость в добавлении видео с сайта напрямую. Есть код:

// отправляем данные
$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'>test</media:title>
<media:description
type='plain'>Video</media:description>
<media:category
scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Animals</media:category>
<media:keywords>
test</media:keywords>
</media:group>
</entry>
";

$boundary = $this->boundary();

if ($fp = fsockopen("uploads.gdata.youtube.com", 80, $errno, $errstr, 20))
{
$request ="POST /feeds/api/users/".$this->_user_name."/uploads HTTP/1.1\r\n";
$request.="Host: uploads.gdata.youtube.com\r\n";
$request.="Authorization: GoogleLogin auth=".$respons_key."\r\n";
$request.="X-GData-Client: ".$this->_source."\r\n";
$request.="X-GData-Key: key=".$this->_mykey."\r\n";
$request.="Slug: ".$_FILES['video_file']['name']."\r\n";
$request.="Content-Type: multipart/related; boundary=".$boundary."\r\n";
$request.="Content-Length: ".strlen($data)."\r\n";
$request.="Connection: close\r\n";
$request.="\r\n";

$request.=$boundary."\r\n";
$request.="Content-Type: application/atom+xml; charset=UTF-8\r\n";

$request.="\r\n";
$request.=$data."\r\n";
$request.=$boundary."\r\n";

$request.="\r\n";
$request.="Content-Type: video/*\r\n";
$request.="Content-Transfer-Encoding: binary\r\n";

$request.="\r\n";
$request.="/site/".$_FILES['video_file']['name']."\r\n";
$request.=$boundary."--\r\n";

socket_set_timeout($fp, 10);
fputs($fp,$request,strlen($request));
$response = fread($fp,3280);
fclose($fp);
}



, где $this->_user_name - имя пользователя
$respons_key - код, который был получен после авторизации в google
$this->_source - название моего приложения
$this->_mykey - ключ разработчика
$_FILES['video_file']['name'] - название файла
$boundary - буквы, цифры, используется как разделитель

Проблема в том, что при загрузке файлов и попытке отправить их на youtube получаю сообщение No file found in upload request. При этом, после кода выше я файл нормально сохраняю в папку у себя на сервере и всё нормально.
Код выше был взять из руководства разработчика на офф. сайте: http://code.google.com/intl/ru/apis/youtub...irect_uploading
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.