Saltar la navegación

4.1.1.- Yahoo! Weather (I).

Imagen del dibujo  una nube verde y gris sobre un fondo oscuro.
Mudassar Iqbal ((Pixabay License)


En la misma página del servicio Yahoo! te ofrece el código PHP necesario para usar el mismo, en puedes configurar el formato de la respuesta (XML o JSON), las unidades, la localización para la que quieres obtener la previsión del tiempo. Puedes consultar el código en el enlace siguiente: Código PHP de ejemplo.

Veamos algunos fragmentos interesantes de este código:

  • Aquí pondremos, una vez registrados, la id de nuestra aplicación, nuestra id, y la clave, estos parámetros son necesarios.

    $url = 'https://weather-ydn-yql.media.yahoo.com/forecastrss';
    $app_id = 'xxxxxxxx';
    $consumer_key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    $consumer_secret = 'xxxxxxxxx';
  • Para configurar las unidades, la localización y el formato de la respuesta:

    $query = array(
        'location' => 'almeria,es', //si ponemos el woeid no es necesario
        //'woeid'=>'752212', // si ponemos la ciudad en location no es necesario
        'u'=>'c',  //para que las unidades estén en el sistema métrico
        'format' => 'xml', //aquí podemos poner json 
    );
  • Se hace una petición cURL y se obtiene la respuesta o bien en JSON o en XML según nos convenga:

    $ch = curl_init();
    curl_setopt_array($ch, $options);
    $response = curl_exec($ch);
    curl_close($ch);
    //$response es la respuesta a nuestra petición. Podemos ver lo que nos devuelve
    var_dump($response);
    echo "<hr>";
    $return_data = json_decode($response); si usamos json en $query
    var_dump($return_data);
    $return_data = new SimpleXMLElement($response); //si usamos xml en squery
    var_dump($return_data);

Salida en JSON (json_decode()

Imagen de una página web donde se puede ver un árbol de objetos con distintos datos. Se corresponde a la salida usando json_decode de la infromación que nos ha ofrecido Yahoo en formato JSON
Firefox (Captura de pantalla elaboración propia)

Salida en XML (new SimpleXMLElement())

Imagen de una página web donde se puede ver un árbol de objetos de tipo SimpleXMLElement con distintos datos. Se corresponde a la salida usand de la información que nos ha ofrecido Yahoo en formato XML
Firefox (Captura de pantalla elaboración propia)



Autoevaluación

Relaciona las palabras con su significado relativo al servicio "Yahoo! Weather":

Ejercicio de relacionar.
Palabra Relación Significado
woeid 1. Clave del usuario.
consumer_secret 2. Unidades en las que nos devolverá la información
u 3. Id único de la localización
format 4. Formato de la respuesta JSON o XML

Habilitar JavaScript