Google/YouTube API V3: An client error occurred: HTTP Error: Unable to connect: 'fopen(compress.zlib://https://www.googleapis.com/youtube/v3/

Desarrollando un plugin usando la API de Google/YouTube aparece el error “Notice: Undefined index: q in” y al realizar consultas aparece el error “An client error occurred: HTTP Error: Unable to connect: 'fopen(compress.zlib://https://www.googleapis.com/youtube/v3/”
El error “Undefined index” aparece porque no se ha definido ningún valor para el array ‘q’, se puede quitar con las funciones error_reporting(0); en el script, no lo resuelve, solo lo oculta. Para resolver se debe usar un if:

Para if antes del formulario:
if(empty($_GET['q'])) {
    $_GET['q'] = "";
    }

dependiendo de como se obtenga el array con GET ó POST se debe adecuar el código; si el array no está definido, lo definimos; de cierto modo PHP nos está protegiendo contra códigos de inyección, nos advierte que el indice del array está vacío y nos da la oportunidad de corregirlo con algún valor esperado.

El error “An cliente error ocurred: HTTP Error: Unable to connect:’fopen(compress.zlib://https://www.googleapis.com/youtube/v3/” ocurre porque el cliente no sabe como interpretar o manejar la petición y se puede dar por dos cosas: no está habilitada (o compilada) la extensión fopen en php.ini y no esta habilitada la extensión openssl en php.ini.


La solución es habilitar las extensiones extension=php_openssl.dll (en windows)
allow_url_fopen = On
allow_url_include = On

en el archivo php.ini

Comentarios

Entradas populares de este blog

SFC : System File Checker o Comprobador de Archivos del Sistema (II) Uso y Opciones

ASUS ACPI SERVICE Falta el controlador del panel táctil. No se ha asignado ninguna tecla de acceso rápido a la conmutación de panel táctil. Por favor, instale el controlador de panel táctil.

El sistema no encontró la opción de entorno especificada