Buenas tardes maestros, feliz de nuevamente poder plasmar algo en el foro (muy dura la ausencia de forosdelweb :( )
Mi problema es este
Tenía un script que usaba como puente con el framework de ZEND para interactuar con la API de youtube todo funcionaba perfecto y yo era un hombre feliz :D!, este script subía videos a youtube y eliminaba, pero luego de 1 mes lo probé y dejo de funcionar.
mi pregunta es..
¿Google cambio algo en este sistema o la API?
He tratado miles de veces solventar el error y no lo he logrado
De verdad agradecería mucho su ayuda, el proyecto tiene tiempo de entrega y este modulo es uno de sus atractivos
aki dejo los sourcs
Documentacion de API Youtube - Google.com http://code.google.com/intl/es/apis/...guide_php.html Error Código PHP:
Fatal error: Uncaught exception 'Zend_Gdata_App_HttpException' with message 'Unable to Connect to ssl://www.google.com:443.
Error #0: php_network_getaddresses: getaddrinfo failed: Name or service not known' in /var/www/wclientes/fecoldes/FecoldesCopia/admin/admincont/Zend/Gdata/ClientLogin.php:138
Stack trace: #0 /var/www/wclientes/fecoldes/FecoldesCopia/admin/admincont/youtube.php(21):
Zend_Gdata_ClientLogin::getHttpClient('correo@gmai...', 'pass gmail', 'youtube', NULL, 'MySource', NULL, NULL, 'https://www.goo...')
#1 /var/www/wclientes/fecoldes/FecoldesCopia/admin/admincont/frame.video.php(53): FuncionesYouTube(1, NULL, 'zxzx', NULL, 'zxzx')
#2 {main} thrown in /var/www/wclientes/fecoldes/FecoldesCopia/admin/admincont/Zend/Gdata/ClientLogin.php on line 138
Por lo poco que entiendo dice q no conoce el nombre del servicio "youtube" pero esas son las indicaciones q dan en la pagina de desarrolladores de youtube.
Mi funcion de puente Código PHP:
<?php
function FuncionesYouTube($accion,$id_video,$titulo_video,$tags_video,$descripcion_video)
{
require_once 'Zend/Loader.php';
//Loaders de zend
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_YouTube');
Zend_Loader::loadClass('Zend_Gdata_AuthSub');
//datos de conexion a youtube
$authenticationURL = 'https://www.google.com/youtube/accounts/ClientLogin';
$httpClient = Zend_Gdata_ClientLogin::getHttpClient(
$username = '[email protected]',
$password = 'clave gmail',
$service = 'youtube',
$client = null,
$source = 'MySource',
$loginToken = null,
$loginCaptcha = null,
$authenticationURL);
$myDeveloperKey = 'clave de desarrollador de google';
$httpClient = Zend_Gdata_AuthSub::getHttpClient($token);
$httpClient->setHeaders('X-GData-Key', "key=${myDeveloperKey}");
$yt = new Zend_Gdata_YouTube($httpClient);
//Acciones
switch ($accion)
{
/*####### Subir Video ########*/
case 1:
$miVideo= new Zend_Gdata_YouTube_VideoEntry();
// Creamos un objeto media group
$mediaGroup = $yt->newMediaGroup();
$mediaGroup->title = $yt->newMediaTitle()->setText($titulo_video);
$mediaGroup->description = $yt->newMediaDescription()->setText($descripcion_video);
// Descarga el archivo que contiene los tags de youtube
$categoryScheme = 'http://gdata.youtube.com/schemas/2007/categories.cat';
$mediaGroup->category = array(
$yt->newMediaCategory()->setText('Sports')->setScheme($categoryScheme),
);
// agregamos los tags
$mediaGroup->keywords = $yt->newMediaKeywords()->setText('fecoldes, federacion, colombiana, deportiva, sordos');
$miVideo->mediaGroup = $mediaGroup;
$tokenHandlerUrl = 'http://gdata.youtube.com/action/GetUploadToken';
$tokenArray = $yt->getFormUploadToken($miVideo, $tokenHandlerUrl);
$clave = $tokenArray['token'];
$url_envio = $tokenArray['url'];
$callback[0] = $clave;
$callback[1] = $url_envio;
return $callback;
break;
/*####### Eliminar Video ########*/
case 2:
//Obteniendo videos del usuario
$videoFeed = $yt->getuserUploads("carloscruzparra"); //Videos subidos por el usuario
//Recorriendo videos
foreach ($videoFeed as $videoEntry)
{
if($id_video == $videoEntry->getVideoId())
{
$yt->delete($videoEntry);
break;
}
}
break;
/*####### Listar Videos ########*/
case 3:
//Obteniendo videos del usuario
$videos_array = array();
$displayTitle = null;
$videoFeed = $yt->getuserUploads("carloscruzparra"); //Videos subidos por el usuario
//Recorriendo videos
foreach ($videoFeed as $videoEntry)
{
$videos_array[$videoEntry->getVideoId()] = $videoEntry->getVideoTitle();
}
//Dvolviendo titulo he id del video
return $videos_array;
break;
}
}
?>
El primer error me da al intentar autenticarme en este metodo
Zend_Gdata_ClientLogin::getHttpClient();, lo raro es que hace 1 mes y medio funcionaba perfecto y ahora no he podido por ningun lado
Muchas gracias de verdad, toda la ayuda es bienvenida
pd: tambien actualize a la ultima version del zend y de la libreria gdata (appis de google).
Saludos