Tutorial Bing Search API 2.0 y PHP

Ha inicios del mes de agosto la gente de Microsoft mejoro (por no decir que modifico) la forma en que los desarrolladores interactuaban con la api, mejor conocida como bing api 2.0 ahora. Esto lógicamente causo bastantes problemas a las empresas y programadores independientes que no realizaron adoptaron los cambios en sus aplicaciones rápidamente, la mayor novedad que nos presenta ahora la api es que trabaja directamente con Windows Azure Marketplace.

Muchas personas pensaran que modificar sus aplicaciones para que vuelvan a funcionar va a ser una tarea muy tediosa, pero de hecho es bastante sencillo, a continuación he escrito una serie de pasos que te permitirá migrar una aplicación a bing api 2.0, mas concretamente utilizaremos la Bing search api 2.0

  • Registrarte en el Windows Azure Marketplace (usando tu cuenta de hotmail es suficiente)
  • Una vez registrado puedes acceder a la sección de datos del marketplace donde además de Bing Search Api (que es el servicio que utilizaremos en este tutorial) también podrás hacer uso de otros servicios como Microsoft Translator, etc. Lista de servicios de Bing

  • Al hacer clic en el servicio serás enviado a una vista donde se proporciona mas información acerca de la api así como una lista de precios por utilizar la api mensualmente, si crees que tu aplicación no tendrá mas de 5000 peticiones por mes a la api podrías utilizar el paquete gratuito al servicio (el ultimo precio que se muestra) de lo contrario te recomiendo adquirir algún otro paquete con las transacciones por mes que mas se ajusten a tus necesidades
  • Una vez suscrito al paquete de tu preferencia (hacer clic, aceptar términos, etc, etc.) en la sección de claves de cuenta podrás encontrar la key necesaria para poder conectarte al servicio y empezar a hacer uso de el. Así mismo en la sección de Mis datos encontraras un resumen de las aplicaciones que estas utilizando actualmente y el estado del numero de consultas restantes por mes, etc.

Listo eso es todo lo que tienes que configurar para comenzar a hacer uso de la api de bing :), ahora para no dejar el articulo a medias les dejo un pequeño código en PHP que nos regresa los resultados encontrados de la query que le pasemos a la api.

<?php

  $api = 'https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/Web?$format=json&$top=8&Query=';
  $accountKey = "LA KEY QUE APARECE EN LA SECCION DE CLAVES DE CUENTA";
  $context = stream_context_create(array(
    'http' => array(
        'request_fulluri' => true,
        'header'  => "Authorization: Basic " . base64_encode($accountKey . ":" . $accountKey)
    )
  ));

  $query = 'alevsk';
  $request = $api . '%27'.$query.'%27';

  $jsonResponse =  json_decode(file_get_contents($request, 0, $context));
  print_r($jsonResponse);
  
?>

El código es bastante sencillo pero creo que deja bastante claro cuales son los requerimientos mínimos para interactuar con la api como la autentificación, los sources y el formato de respuesta, si tienes mas dudas acerca de los parámetros que recibe la api puedes utilizar el generador de consultas que proporciona el sitio o también acceder a el utilizando el enlace de “Usar” (el que esta a la derecha en la imagen anterior).

El generador de consultas de bing api 2.0 se trata de una herramienta bastante útil ya que te permite configurar tus request de una manera muy amigable y al final en la parte superior te muestra como quedaría la petición (la URL) que deberías de hacer a la api para obtener los resultados mostrados abajo :).

Muy importante, aquí les dejo la documentacion completa de la api que podrán utilizar como referencia.

Con esto espero que haya quedado claro o por lo menos entendible la nueva manera de interactuar con la api de bing y como siempre digo, si hay dudas respecto al código pueden escribirlas en los comentarios y con gusto las resolveré.

salu2

Si te gusto comparte ...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

6 pensamientos en “Tutorial Bing Search API 2.0 y PHP

  1. anonymous
    Firefox 14.0.1 GNU/Linux 64 bits

    Solved:

    array(
    ‘request_fulluri’ => true,
    ‘header’ => “Authorization: Basic ” . base64_encode($accountKey . “:” . $accountKey)
    )
    ));

    $query = ‘alevsk’;
    $request = $api . ‘%27’.$query.’%27′;

    $jsonResponse = json_decode(file_get_contents($request, 0, $context));
    print_r($jsonResponse);

    ?>

    Responder
  2. anonymous
    Firefox 14.0.1 GNU/Linux 64 bits

    $accountKey = “API ID”;
    $api = ‘https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/Web?$format=json&$top=8&Query=’;
    $context = stream_context_create(array(
    ‘http’ => array(
    ‘request_fulluri’ => true,
    ‘header’ => “Authorization: Basic ” . base64_encode($accountKey . “:” . $accountKey)
    )
    ));

    $query = ‘alevsk’;
    $request = $api . ‘%27’.$query.’%27′;

    $jsonResponse = json_decode(file_get_contents($request, 0, $context));
    print_r($jsonResponse);

    Responder
    1. Alevsk
      Google Chrome 39.0.2171.65 Mac OS

      Hola Arturo, te da un mensaje en ingles que dice service limited o algo asi, fue hace mucho ese proyecto y no recuerdo, pero el mensaje que te da es bastante explicito xD, salu2 🙂

      Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *