BlogoDev

Consumir WebServices JSon desde PHP

by P-los on Nov.14, 2009, under Funciones, Técnicas, Web

Hoy gracias a que estuve apoyando a un proyecto de unos amigos, les traigo un simple ejemplo de como consumir WebServices hechos con JSon desde PHP.

Para este ejemplo utilizaremos una búsqueda en Twitter, ya que cumple con estas características.

Primero tenemos que formar una dirección URL con la ubicación de nuestro WebService, que para nuestro caso sería:
$URL="http://search.twitter.com/search.json?q=" . $Busqueda;
donde $Busqueda es el término que vamos a buscar.

Primero vamos a abrir esta dirección como un archivo cualquiera y guardamos su contenido en una variable:
$archivo = fopen ($URL, "r");
$texto = fgets($archivo);

Ahora, aprovechamos una función de PHP 5.2.0 o superior, llamada json_decode() que nos regresa un objeto con el contenido del JSon, cuyas propiedades son los valores entregados por el WebService, y podremos mostrar su contenido:

$json = json_decode($texto);
echo "max_id=".$json->max_id;
echo "next_page=".$json->next_page;

Para este caso particular, Twitter nos entrega un arreglo con los resultados, que facilmente podemos meter en un foreach:

foreach($json->results as $valor)
{
echo "<img src='".$valor->profile_image_url."' style='width:60px;height:60px;' /><br />";
echo "<h1>".$valor->from_user."</h1><br />";
echo $valor->text."<br />";
}

y así de facil tenemos un cliente que muestra los resultados de busqueda en twitter desde PHP.

:, ,
Posts Relacionados
  • No related posts

2 Comments for this entry

  • Isra

    Puedes leer archivos más fácilmente con file_get_contents()

    Por otra parte, también es fácil crear APIs (de lectura) con PHP y JSON.

  • Ares

    Hola, buen artículo.

    A mi me come la cabeza este problema, pero hacerlo con javascript. Por ejemplo, ayudándome con JQuery, busco recibir el XML o JSON de alguna página (como twitter por ejemplo) y falla quien sabe porqué.

    Ya me he visto tentado a leer el file con php y hacer lo que quiera desde ahí, pero honestamente lo veo mucho más limpio si se logra solo con js. Incluso, para mi sorpresa, si lo leo con php y me lo envío a mi mismo ¡ahora sí funciona!. Creo que me estoy desayunando con algo ¿acaso no es posible usar un WebService de alguien que no sea yo mismo?, me parece un chasco grande :/

Leave a Reply

Paginas

 

November 2009
M T W T F S S
« Sep   Jan »
 1
2345678
9101112131415
16171819202122
23242526272829
30