El último que he probado este: No funciona, parece que carga el video pero mas tarde me dice pagina web no encontrada , por que me junta con se puede ver en el formulario, la url donde se procesa el video, mi api key y mi dirección de respuesta, con lo cual , el navegador no sabe interpretar dicha dirección.
POR FAVOR, si alguien tiene un código completo para subir videos desde su web, le agradeceria mucho que lo compartiera. Saludos y gracias
Código PHP:
// furmulario para los datos del video
<form action="proceso.php" method="post" enctype="multipart/form-data">
<p> </p>
<p>Paso 1 de 2 </p>
<table width="100%" border="0">
<tr>
<td>Titulo</td>
<td><label>
<input name="titulo" type="text" id="titulo" />
</label></td>
</tr>
<tr>
<td>Descripcion</td>
<td><label>
<textarea name="descripcion" id="descripcion"></textarea>
</label></td>
</tr>
<tr>
<td>Categoría</td>
<td><select name="categorias" id="categorias">
<option value="Autos">Autos</option>
<option value="Music">Music</option>
<option value="Sports">Sports</option>
</select></td>
</tr>
<tr>
<td>Claves</td>
<td><input name="keys" type="text" id="keys" /> </td>
</tr>
<tr>
<td> </td>
<td><input name="submit" type="submit" value="Ir al paso 2" /></td>
</tr>
</table>
</form>
</body>
</html>
// Proesar
<?php
require_once 'Zend/Loader.php'; // es la ruta al archivo Loader.php que encontraremos en la libreria zend
Zend_Loader::loadClass('Zend_Gdata_AuthSub');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_YouTube');
/******************** AREA DE CONFIGURACION********************************/
$nextUrl='mi url para la respuesta';//ESTE ES EL ARCHIVO ENCARGADO DE RECIBIR EL CALLBACK QUE NOS DA YOUTUBE, RECIBE LAS BARIABLES status (200 si es correcto) y decibe el id del video que es el mismo que usaremos apra ver el video en http://www.youtube.com/watch?v=Of_x_RyeMK8 donde Of_x_RyeMK8 es el id del video este podemos almacenarlo en una base de datos para luego poder mostrarlo.
$usuario='correo gmail';//usuario de gmail
$contrasena='contrasena';//contraseña de gmail
$aplicacion='varios';//un texto corto que identifique nuestra aplicacion
$apiKey= 'la clave api';//es la clave de desarrolaldor que sacamos en google
/******************** FIN DEL AREA DE CONFIGURACION ********************************/
$authenticationURL= 'https://www.google.com/youtube/accounts/ClientLogin';//es la url que autoriza nuestros datos para el login
$httpClient = Zend_Gdata_ClientLogin::getHttpClient(
$username = $usuario,
$password = $contrasena,
$service = 'youtube',
$client = null,
$source = $aplicacion,
$loginToken = null,
$loginCaptcha = null,
$authenticationURL);
$httpClient->setHeaders('X-GData-Key', "key=${apiKey}");
$yt = new Zend_Gdata_YouTube($httpClient);
//todo lo anterior es para loguearse a youtube, una vez adentro creamos el video en si.
// aca creaos lo que se llama video entry
$myVideoEntry= new Zend_Gdata_YouTube_VideoEntry();
// seteamos los datos del video, como titulo y descripcion
$mediaGroup = $yt->newMediaGroup();
$mediaGroup->title = $yt->newMediaTitle()->setText($_POST['titulo']);
$mediaGroup->description = $yt->newMediaDescription()->setText($_POST['descripcion']);
//conectamos apra ver si se aprueban las tegorias enviadas
$categoryScheme = 'http://gdata.youtube.com/schemas/2007/categories.cat';
$developerTagScheme = 'http://gdata.youtube.com/schemas/2007/developertags.cat';
$mediaGroup->category = array(
$yt->newMediaCategory()->setText($_POST['categorias'])->setScheme($categoryScheme),
$yt->newMediaCategory()->setText('mydevelopertag')->setScheme($developerTagScheme),
$yt->newMediaCategory()->setText('anotherdevelopertag')->setScheme($developerTagScheme)
);
$mediaGroup->keywords = $yt->newMediaKeywords()->setText($_POST['keys']);
$myVideoEntry->mediaGroup = $mediaGroup;
$tokenHandlerUrl = 'http://gdata.youtube.com/action/GetUploadToken';
$tokenArray = $yt->getFormUploadToken($myVideoEntry, $tokenHandlerUrl);
$tokenValue = $tokenArray['token'];
$postUrl = $tokenArray['url'];
?>
<head>
<title>Documento sin título</title>
</head>
<body>
<form action="<?php echo $postUrl .''. $nextUrl ;?>" method="post" enctype="multipart/form-data">
<p> </p>
<p>paso 2 de 2 </p>
<table width="100%" border="0">
<tr>
<td>Titulo</td>
<td><?php echo $_POST['titulo'];?></td>
</tr>
<tr>
<td>Descripcion</td>
<td><label><?php echo $_POST['descripcion'];?></label></td>
</tr>
<tr>
<td>Categoría</td>
<td><?php echo $_POST['categorias'];?></td>
</tr>
<tr>
<td>Claves</td>
<td><?php echo $_POST['keys'];?></td>
</tr>
<tr>
<td>Video</td>
<td><input name="file" type="file"/></td>
</tr>
<tr>
<td> </td>
<td><input name="submit" type="submit" value="Subir Video" />
<input name="token" type="hidden" value="<?php echo $tokenValue;?>"/></td>
</tr>
</table>
</form>
</body>