Envío de solicitudes a Bing Spell Check API

Advertencia

El 30 de octubre de 2020, las API de Bing Search se trasladaron de los servicios de Azure AI a los servicios de Bing Search. Esta documentación se proporciona solo como referencia. Para obtener documentación actualizada, consulte la documentación de Bing Search API. Para obtener instrucciones sobre cómo crear nuevos recursos de Azure para Bing Search, consulte el artículo sobre la creación de un recurso de Bing Search a través de Azure Marketplace.

Para buscar en una cadena de texto existente errores ortográficos y gramaticales, enviaría una solicitud GET al punto de conexión siguiente:

https://api.cognitive.microsoft.com/bing/v7.0/spellcheck

La solicitud debe usar el protocolo HTTPS.

Se recomienda que todas las solicitudes procedan de un servidor. Al distribuir la clave como parte de una aplicación cliente, existe una mayor probabilidad de que un tercero malintencionado acceda a ella. Un servidor también proporciona un único punto de actualización para futuras versiones de la API.

La solicitud debe especificar el parámetro de consulta text, que contiene la cadena de texto para probar. Aunque es opcional, la solicitud debe especificar también el parámetro de consulta mkt, que identifica el mercado de donde desea que procedan los resultados. Para ver una lista de parámetros de consulta opcionales, como mode, consulte Query Parameters (Parámetros de consulta). Todos los valores de parámetro de consulta deben estar codificados con una dirección URL.

La solicitud debe especificar el encabezado Ocp-Apim-Subscription-Key. Aunque es opcional, se recomienda especificar los encabezados siguientes. Estos encabezados ayudan a Bing Spell Check API a obtener resultados más precisos:

Para ver una lista de todos los encabezados de solicitud y respuesta, consulte Encabezados.

Cuando se llama a Bing Spell Check API desde JavaScript, las características de seguridad integradas de su explorador podrían impedirle acceder a los valores de estos encabezados.

Para resolver este problema, puede realizar una solicitud de Bing Spell Check API a través de un proxy CORS. La respuesta de un proxy de este tipo tiene un encabezado Access-Control-Expose-Headers que filtra los encabezados de respuesta y hace que estén disponibles para JavaScript.

Es fácil instalar un proxy CORS para permitir que la aplicación de tutorial obtenga acceso a los encabezados de cliente opcionales. En primer lugar, si aún no lo tiene, instale Node.js. A continuación, escriba el siguiente comando en un símbolo del sistema.

npm install -g cors-proxy-server

Luego, cambie el punto de conexión de Bing Spell Check API del archivo HTML a:
http://localhost:9090/https://api.cognitive.microsoft.com/bing/v7.0/spellcheck/

Por último, inicie el proxy CORS con el siguiente comando:

cors-proxy-server

Deje abierta la ventana de comandos mientras usa la aplicación del tutorial, ya que si la cierra, se detendrá el proxy. En la sección expandible de encabezados HTTP que está situada bajo los resultados de búsqueda, ahora puede ver el encabezado X-MSEdge-ClientID (entre otras cosas) y comprobar que es el mismo para cada solicitud.

Solicitud de API de ejemplo

A continuación se muestra una solicitud que incluye todos los encabezados y parámetros de consulta sugeridos. Si es la primera vez que llama a cualquiera de las API de Bing, no incluya el encabezado de identificador de cliente. Solo debe incluir el identificador de cliente si se ha llamado previamente a una API de Bing y Bing ha devuelto un identificador de cliente para esa combinación de usuario y dispositivo.

GET https://api.cognitive.microsoft.com/bing/v7.0/spellcheck?text=when+its+your+turn+turn,+john,+come+runing&mkt=en-us HTTP/1.1
Ocp-Apim-Subscription-Key: 123456789ABCDE  
X-MSEdge-ClientIP: 999.999.999.999  
X-Search-Location: lat:47.60357;long:-122.3295;re:100  
X-MSEdge-ClientID: <blobFromPriorResponseGoesHere>  
Host: api.cognitive.microsoft.com  

A continuación se muestra la respuesta a la solicitud anterior. En el ejemplo también se muestran los encabezados de respuesta específicos de Bing.

Nota

Como los formatos y los parámetros de dirección URL están sujetos a cambios sin previo aviso, use todas las direcciones URL tal y como están. No debe tomar dependencias en el formato o los parámetros de dirección URL, excepto donde se indique.

BingAPIs-TraceId: 76DD2C2549B94F9FB55B4BD6FEB6AC
X-MSEdge-ClientID: 1C3352B306E669780D58D607B96869
BingAPIs-Market: en-US

{  
    "_type" : "SpellCheck",  
    "flaggedTokens" : [{  
        "offset" : 5,  
        "token" : "its",  
        "type" : "UnknownToken",  
        "suggestions" : [{  
            "suggestion" : "it's",  
            "score" : 1  
        }]  
    },  
    {  
        "offset" : 25,  
        "token" : "john",  
        "type" : "UnknownToken",  
        "suggestions" : [{  
            "suggestion" : "John",  
            "score" : 1  
        }]  
    },  
    {  
        "offset" : 19,  
        "token" : "turn",  
        "type" : "RepeatedToken",  
        "suggestions" : [{  
            "suggestion" : "",  
            "score" : 1  
        }]  
    },  
    {  
        "offset" : 35,  
        "token" : "runing",  
        "type" : "UnknownToken",  
        "suggestions" : [{  
            "suggestion" : "running",  
            "score" : 1  
        }]  
    }]  
}  

Pasos siguientes