Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/05/2011, 02:19
Avatar de Filgood
Filgood
 
Fecha de Ingreso: octubre-2008
Mensajes: 87
Antigüedad: 15 años, 5 meses
Puntos: 1
codigo completo subida videos youtbe

Hola, llevo unos dias probando varios códigos para subir videos con la api de youtube desde mmi web. Tengo instalado el zend y no hay manera.

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>&nbsp;</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&iacute;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>&nbsp;</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&iacute;tulo</title>
</head>

<body>
<form action="<?php echo $postUrl .''$nextUrl ;?>" method="post" enctype="multipart/form-data">
  <p>&nbsp;</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&iacute;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>&nbsp;</td>
      <td><input name="submit" type="submit" value="Subir Video" />
      <input name="token" type="hidden" value="<?php echo $tokenValue;?>"/></td>
    </tr>
  </table>
</form>
</body>