Foros del Web » Programando para Internet » PHP »

Informacion de API a PHP

Estas en el tema de Informacion de API a PHP en el foro de PHP en Foros del Web. Hola a todos tengo el siguiente enlace que me muestra distinta información sobre el stream que hay asociada a esa cuenta. De esta forma se ...
  #1 (permalink)  
Antiguo 16/03/2012, 18:50
Avatar de djboro88  
Fecha de Ingreso: junio-2009
Ubicación: Valencia
Mensajes: 180
Antigüedad: 14 años, 10 meses
Puntos: 2
Pregunta Informacion de API a PHP

Hola a todos tengo el siguiente enlace que me muestra distinta información sobre el stream que hay asociada a esa cuenta.

De esta forma se muestra en XML:
http://api.ustream.tv/xml/channel/al...2EBA5484CF97AB

Me gustaria saber si hay alguna forma de hacer que toda esa información que se muestra, pueda recogerse en PHP y organizarla una forma más correcta.

Saludos !!
  #2 (permalink)  
Antiguo 16/03/2012, 20:46
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Informacion de API a PHP

Puedes usar simplexml por ejemplo:

Código PHP:
Ver original
  1. <?php
  2. $url = 'http://api.ustream.tv/xml/channel/all/search/username:eq:djboro88?key=0CCE0C3A3B6C885DBD2EBA5484CF97AB';
  3. $sxe = new SimpleXMLElement($url, null, true);
  4.  
  5. foreach ($sxe->results->array->children() as $c => $v) {
  6.     if ($v->count() > 0) {
  7.         foreach ($v as $c2 => $v2) {
  8.             echo $c2 . ' = ';
  9.             echo $sxe->results->array->{$c}->{$c2} . '<hr />';
  10.         }
  11.     } else {
  12.         echo $c . ' = ';
  13.         echo $sxe->results->array->{$c} . '<hr />';
  14.     }
  15. }

o para acceder a cualquier valor, ejemplo:

Código PHP:
Ver original
  1. <?php
  2. $url = 'http://api.ustream.tv/xml/channel/all/search/username:eq:djboro88?key=0CCE0C3A3B6C885DBD2EBA5484CF97AB';
  3. $sxe = new SimpleXMLElement($url, null, true);
  4. echo $sxe->results->array->title; //LA FRONTERA DEL SONIDO

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 17/03/2012, 02:41
Avatar de djboro88  
Fecha de Ingreso: junio-2009
Ubicación: Valencia
Mensajes: 180
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Informacion de API a PHP

Al ejecutarlo me sale lo siguiente:

Código PHP:
WarningSimpleXMLElement::__construct() [simplexmlelement.--construct]: URL file-access is disabled in the server configuration in /homepages/2/d357915812/htdocs/stream/index.php on line 5

Warning
SimpleXMLElement::__construct(http://api.ustream.tv/xml/channel/all/search/username:eq:djboro88?key=0CCE0C3A3B6C885DBD2EBA5484CF97AB) [simplexmlelement.--construct]: failed to open stream: no suitable wrapper could be found in /homepages/2/d357915812/htdocs/stream/index.php on line 5

WarningSimpleXMLElement::__construct() [simplexmlelement.--construct]: I/O warning failed to load external entity "http://api.ustream.tv/xml/channel/all/search/username:eq:djboro88?key=0CCE0C3A3B6C885DBD2EBA5484CF97AB" in /homepages/2/d357915812/htdocs/stream/index.php on line 5

Fatal error
Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /homepages/2/d357915812/htdocs/stream/index.php:5 Stack trace#0 /homepages/2/d357915812/htdocs/stream/index.php(5): SimpleXMLElement->__construct('http://api.ustr...', 0, true) #1 {main} thrown in /homepages/2/d357915812/htdocs/stream/index.php on line 5 
Puedes ver el resultado en:
http://djboro.es/stream/

La ruta donde está la información también es posible verse en php:
http://api.ustream.tv/php/channel/al...2EBA5484CF97AB

Y en JSON:
http://api.ustream.tv/json/channel/a...2EBA5484CF97AB

¿Existe alguna otra forma de extraer los datos y mostrarlos de una forma más ordenada?

Saludos !!
  #4 (permalink)  
Antiguo 17/03/2012, 10:37
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Informacion de API a PHP

Se puede hacer en XML o JSON, pero tienes que solucionar primero este problema de tu servidor:

Cita:
URL file-access is disabled in the server configuration
con JSON es un simple array que tienes que recorrer, por ejemplo todo ordenado en listas:

Código PHP:
Ver original
  1. <ul>
  2. <?php
  3. $json = file_get_contents('http://api.ustream.tv/json/channel/all/search/username:eq:djboro88?key=0CCE0C3A3B6C885DBD2EBA5484CF97AB');
  4. $data = json_decode($json, true);
  5.  
  6. foreach ($data['results'][0] as $c => $v) {
  7.     if (is_array($v)) {
  8.         echo "<li>$c<ul>" . PHP_EOL;
  9.         foreach ($v as $c2 => $v2) {
  10.             echo "<li>$c2 => $v2</li>" . PHP_EOL;
  11.         }
  12.         echo "</ul></li>" . PHP_EOL;
  13.     } else {
  14.         echo "<li>$c => $v</li>" . PHP_EOL;
  15.     }
  16. }
  17. ?>
  18. </ul>

Ya vos lo ordenas y/o muestras como quieras. Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 18/03/2012, 02:53
Avatar de djboro88  
Fecha de Ingreso: junio-2009
Ubicación: Valencia
Mensajes: 180
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Informacion de API a PHP

Ya he solucionado el error del servidor, subiendo el php.ini con el siguiente contenido:
Código PHP:
;;;;;;;;;;;;;;;;;;
Fopen wrappers ;
;;;;;;;;;;;;;;;;;;

Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen On 
¡¡¡ AHORA FUNCIONA PERFECTO !!!

Etiquetas: api, informacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:46.