快速开始:使用必应拼写检查 REST API 和 Node.js 进行拼写检查

警告

2020 年 10 月 30 日,必应搜索 API 从 Azure AI 服务迁移到必应搜索服务。 本文档仅供参考。 有关更新的文档,请参阅必应搜索 API 文档。 关于为必应搜索创建新的 Azure 资源的说明,请参阅通过 Azure 市场创建必应搜索资源

使用此快速入门对必应拼写检查 REST API 进行首次调用。 这个简单的 JavaScript 应用程序向 API 发送请求,并返回建议的更正列表。

尽管此应用程序是用 JavaScript 编写的,但 API 是一种 RESTful Web 服务,与大多数编程语言兼容。 GitHub上提供了此应用程序的源代码。

先决条件

创建 Azure 资源

通过创建以下 Azure 资源之一,开始使用 Bing 拼写检查 API:

必应拼写检查资源

  • 在删除资源前,可通过 Azure 门户使用。
  • 使用免费定价层试用该服务,稍后升级到生产付费层。
  • 必应拼写检查 API 在 必应搜索 v7 资源的某些层中也提供。

多服务资源

  • 在删除资源前,可通过 Azure 门户使用。
  • 在多个 Azure AI 服务中对应用程序使用相同的密钥和终结点。

创建和初始化项目

  1. 在偏好的 IDE 或编辑器中创建新的 JavaScript 文件。 设置严格性,并要求 https。 然后,为 API 终结点的主机、路径和订阅密钥创建变量。 可以在以下代码中使用全局终结点,也可以使用 Azure 门户中为资源显示的 自定义子域 终结点。

    'use strict';
    let https = require ('https');
    
    let host = 'api.cognitive.microsoft.com';
    let path = '/bing/v7.0/spellcheck';
    let key = '<ENTER-KEY-HERE>';
    
  2. 为搜索参数和要检查的文本创建变量:

    1. 使用 mkt 运算符将您的市场代码赋值给 = 参数。 市场代码是发出请求的国家/地区的代码。

    2. 使用 mode 运算符添加 & 参数,然后分配拼写检查模式。 模式可以是 proof(捕获大多数拼写/语法错误)或 spell(捕获大多数拼写错误,但不捕获尽可能多的语法错误)。

    let mkt = "en-US";
    let mode = "proof";
    let text = "Hollo, wrld!";
    let query_string = "?mkt=" + mkt + "&mode=" + mode;
    

创建请求参数

使用 POST 方法创建一个新对象,然后创建请求参数。 通过将终结点路径和查询字符串附加上去来设置您的路径。 然后,将订阅密钥添加到 Ocp-Apim-Subscription-Key 标头。

let request_params = {
   method : 'POST',
   hostname : host,
   path : path + query_string,
   headers : {
   'Content-Type' : 'application/x-www-form-urlencoded',
   'Content-Length' : text.length + 5,
      'Ocp-Apim-Subscription-Key' : key,
   }
};

创建响应处理程序

创建一个调用 response_handler 的函数以从 API 获取 JSON 响应,并打印它。 为响应正文创建变量。 收到data标记时,使用response.on()追加响应。 收到end标志后,将 JSON 正文打印到控制台。

let response_handler = function (response) {
    let body = '';
    response.on ('data', function (d) {
        body += d;
    });
    response.on ('end', function () {
        let body_ = JSON.parse (body);
        console.log (body_);
    });
    response.on ('error', function (e) {
        console.log ('Error: ' + e.message);
    });
};

发送请求

使用请求参数和响应处理程序,通过 https.request() 调用 API。 将文本写入 API,然后结束请求。

let req = https.request (request_params, response_handler);
req.write ("text=" + text);
req.end ();

运行应用程序

  1. 生成并运行项目。

  2. 如果使用命令行,请使用以下命令生成并运行应用程序:

    node <FILE_NAME>.js
    

示例 JSON 响应

成功的响应在 JSON 中返回,如以下示例所示:

{
   "_type": "SpellCheck",
   "flaggedTokens": [
      {
         "offset": 0,
         "token": "Hollo",
         "type": "UnknownToken",
         "suggestions": [
            {
               "suggestion": "Hello",
               "score": 0.9115257530801
            },
            {
               "suggestion": "Hollow",
               "score": 0.858039839213461
            },
            {
               "suggestion": "Hallo",
               "score": 0.597385084464481
            }
         ]
      },
      {
         "offset": 7,
         "token": "wrld",
         "type": "UnknownToken",
         "suggestions": [
            {
               "suggestion": "world",
               "score": 0.9115257530801
            }
         ]
      }
   ]
}

后续步骤