Envío de solicitudes a Bing Spell Check APISending requests to the Bing Spell Check API

Para buscar en una cadena de texto existente errores ortográficos y gramaticales, enviaría una solicitud GET al punto de conexión siguiente:To check a text string for spelling and grammar errors, you'd send a GET request to the following endpoint:

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

La solicitud debe usar el protocolo HTTPS.The request must use the HTTPS protocol.

Se recomienda que todas las solicitudes procedan de un servidor.We recommend that all requests originate from a server. Al distribuir la clave como parte de una aplicación cliente, existe una mayor probabilidad de que un tercero malintencionado acceda a ella.Distributing the key as part of a client application provides more opportunity for a malicious third-party to access it. Un servidor también proporciona un único punto de actualización para futuras versiones de la API.A server also provides a single upgrade point for future versions of the API.

La solicitud debe especificar el parámetro de consulta text, que contiene la cadena de texto para probar.The request must specify the text query parameter, which contains the text string to proof. 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.Although optional, the request should also specify the mkt query parameter, which identifies the market where you want the results to come from. Para ver una lista de parámetros de consulta opcionales, como mode, consulte Query Parameters (Parámetros de consulta).For a list of optional query parameters such as mode, see Query Parameters. Todos los valores de parámetro de consulta deben estar codificados con una dirección URL.All query parameter values must be URL encoded.

La solicitud debe especificar el encabezado Ocp-Apim-Subscription-Key.The request must specify the Ocp-Apim-Subscription-Key header. Aunque es opcional, se recomienda especificar los encabezados siguientes.Although optional, you are encouraged to also specify the following headers. Estos encabezados ayudan a Bing Spell Check API a obtener resultados más precisos:These headers help the Bing Spell Check API return more accurate results:

Para ver una lista de todos los encabezados de solicitud y respuesta, consulte Encabezados.For a list of all request and response headers, see Headers.

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.When calling the Bing Spell Check API using JavaScript, your browser's built-in security features might prevent you from accessing the values of these headers.

Para resolver este problema, puede realizar una solicitud de Bing Spell Check API a través de un proxy CORS.To resolve this issue, you can make the Bing Spell Check API request through a CORS proxy. La respuesta de un proxy de este tipo tiene un encabezado Access-Control-Expose-Headers que agrega los encabezados de respuesta a listas blancas, y hace que estén disponibles para JavaScript.The response from such a proxy has a Access-Control-Expose-Headers header that whitelists response headers and makes them available to JavaScript.

Es fácil instalar un proxy CORS para permitir que la aplicación de tutorial obtenga acceso a los encabezados de cliente opcionales.It's easy to install a CORS proxy to allow the tutorial app to access the optional client headers. En primer lugar, si aún no lo tiene, instale Node.js.First, if you don't already have it, install Node.js. A continuación, escriba el siguiente comando en un símbolo del sistema.Then enter the following command at a command prompt.

npm install -g cors-proxy-server

Luego, cambie el punto de conexión de Bing Spell Check API del archivo HTML a:Next, change the Bing Spell Check API endpoint in the HTML file to:

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

Por último, inicie el proxy CORS con el siguiente comando:Finally, start the CORS proxy with the following command:

cors-proxy-server

Deje abierta la ventana de comandos mientras usa la aplicación del tutorial. Al cerrar la ventana, se detiene el proxy.Leave the command window open while you use the tutorial app; closing the window stops the 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.In the expandable HTTP Headers section below the search results, you can now see the X-MSEdge-ClientID header (among others) and verify that it's the same for each request.

Solicitud de API de ejemploExample API request

A continuación se muestra una solicitud que incluye todos los encabezados y parámetros de consulta sugeridos.The following shows a request that includes all the suggested query parameters and headers. Si es la primera vez que llama a cualquiera de las API de Bing, no incluya el encabezado de identificador de cliente.If it's your first time calling any of the Bing APIs, don't include the client ID header. 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.Only include the client ID if you've previously called a Bing API and Bing returned a client ID for the user and device combination.

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.The following shows the response to the previous request. En el ejemplo también se muestran los encabezados de respuesta específicos de Bing.The example also shows the Bing-specific response headers.

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.Because URL formats and parameters are subject to change without notice, use all URLs as-is. No debe tomar dependencias en el formato o los parámetros de dirección URL excepto donde se indique.You should not take dependencies on the URL format or parameters except where noted.

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 siguientesNext steps