Guía de inicio rápido: Búsqueda de imágenes con la API de REST Bing Image Search y PHPQuickstart: Search for images using the Bing Image Search REST API and PHP

Use esta guía de inicio rápido para realizar la primera llamada a Bing Image Search API y recibir una respuesta JSON.Use this quickstart to make your first call to the Bing Image Search API and receive a JSON response. La aplicación sencilla de este artículo envía una consulta de búsqueda y muestra los resultados sin formato.The simple application in this article sends a search query and displays the raw results.

Si bien esta aplicación está escrita en PHP, la API es un servicio web RESTful compatible con cualquier lenguaje de programación que pueda realizar solicitudes HTTP y analizar JSON.While this application is written in PHP, the API is a RESTful Web service compatible with any programming language that can make HTTP requests and parse JSON.

El código fuente del ejemplo está disponible en GitHub.The source code for this sample is available on GitHub.

Requisitos previosPrerequisites

Debe tener una cuenta de Cognitive Services API con acceso a Bing Search APIs.You must have a Cognitive Services API account with access to the Bing Search APIs. Si no tiene una suscripción de Azure, puede crear una cuenta gratuita.If you don't have an Azure subscription, you can create an account for free. Antes de continuar, necesitará la clave de acceso que se le proporcionó al activar la versión de evaluación gratuita o puede usar una clave de suscripción de pago desde el panel de Azure.Before continuing, You will need the access key provided after activating your free trial, or a paid subscription key from your Azure dashboard.

Consulte también Precios de Cognitive Services - Bing Search API.See also Cognitive Services Pricing - Bing Search API.

Creación e inicialización de la aplicaciónCreate and initialize the application

Para ejecutar esta aplicación, siga estos pasos.To run this application, follow these steps.

  1. Asegúrese de que la compatibilidad segura con HTTP está habilitada en el archivo php.ini.Make sure secure HTTP support is enabled in your php.ini file. En Windows, este archivo se encuentra en C:\windows.On Windows, this file is located in C:\windows.

  2. Cree un nuevo proyecto de PHP en su IDE o editor favorito.Create a new PHP project in your favorite IDE or editor.

  3. Defina el punto de conexión de API, la clave de suscripción y el término de búsqueda.define the API endpoint, your subscription key, and search term.

    $endpoint = 'https://api.cognitive.microsoft.com/bing/v7.0/images/search';
    // Replace the accessKey string value with your valid access key.
    $accessKey = 'enter key here';
    $term = 'tropical ocean';
    

    Construcción y realización de una solicitud HTTPConstruct and perform an HTTP request

  4. Use las variables del último paso para preparar una solicitud HTTP para Image Search API.Use the variables from the last step to prepare an HTTP request to the Image Search API.

    $headers = "Ocp-Apim-Subscription-Key: $key\r\n";
    $options = array ( 'http' => array (
                            'header' => $headers,
                            'method' => 'GET' ));
    
  5. Envíe la solicitud web y obtenga la respuesta JSON.Send the web request and get the JSON response.

    $context = stream_context_create($options);
    $result = file_get_contents($url . "?q=" . urlencode($query), false, $context);
    

Procesamiento e impresión de JSONProcess and print the JSON

Procese e imprima la respuesta JSON devuelta.Process and print the returned JSON response.

```php
$headers = array();
    foreach ($http_response_header as $k => $v) {
        $h = explode(":", $v, 2);
        if (isset($h[1]))
            if (preg_match("/^BingAPIs-/", $h[0]) || preg_match("/^X-MSEdge-/", $h[0]))
                $headers[trim($h[0])] = trim($h[1]);
    }
    return array($headers, $result);
```

Ejemplo de respuesta JSONExample JSON response

Las respuestas de Bing Image Search API se devuelven como JSON.Responses from the Bing Image Search API are returned as JSON. Esta respuesta de ejemplo se ha truncado para mostrar un único resultado.This sample response has been truncated to show a single result.

{
"_type":"Images",
"instrumentation":{
    "_type":"ResponseInstrumentation"
},
"readLink":"images\/search?q=tropical ocean",
"webSearchUrl":"https:\/\/www.bing.com\/images\/search?q=tropical ocean&FORM=OIIARP",
"totalEstimatedMatches":842,
"nextOffset":47,
"value":[
    {
        "webSearchUrl":"https:\/\/www.bing.com\/images\/search?view=detailv2&FORM=OIIRPO&q=tropical+ocean&id=8607ACDACB243BDEA7E1EF78127DA931E680E3A5&simid=608027248313960152",
        "name":"My Life in the Ocean | The greatest WordPress.com site in ...",
        "thumbnailUrl":"https:\/\/tse3.mm.bing.net\/th?id=OIP.fmwSKKmKpmZtJiBDps1kLAHaEo&pid=Api",
        "datePublished":"2017-11-03T08:51:00.0000000Z",
        "contentUrl":"https:\/\/mylifeintheocean.files.wordpress.com\/2012\/11\/tropical-ocean-wallpaper-1920x12003.jpg",
        "hostPageUrl":"https:\/\/mylifeintheocean.wordpress.com\/",
        "contentSize":"897388 B",
        "encodingFormat":"jpeg",
        "hostPageDisplayUrl":"https:\/\/mylifeintheocean.wordpress.com",
        "width":1920,
        "height":1200,
        "thumbnail":{
        "width":474,
        "height":296
        },
        "imageInsightsToken":"ccid_fmwSKKmK*mid_8607ACDACB243BDEA7E1EF78127DA931E680E3A5*simid_608027248313960152*thid_OIP.fmwSKKmKpmZtJiBDps1kLAHaEo",
        "insightsMetadata":{
        "recipeSourcesCount":0,
        "bestRepresentativeQuery":{
            "text":"Tropical Beaches Desktop Wallpaper",
            "displayText":"Tropical Beaches Desktop Wallpaper",
            "webSearchUrl":"https:\/\/www.bing.com\/images\/search?q=Tropical+Beaches+Desktop+Wallpaper&id=8607ACDACB243BDEA7E1EF78127DA931E680E3A5&FORM=IDBQDM"
        },
        "pagesIncludingCount":115,
        "availableSizesCount":44
        },
        "imageId":"8607ACDACB243BDEA7E1EF78127DA931E680E3A5",
        "accentColor":"0050B2"
    }]
}

Pasos siguientesNext steps

Otras referenciasSee also