快速入門:使用 Bing 拼字檢查 REST API 和 Node.js 進行拼字檢查

警告

2020 年 10 月 30 日,Bing 搜尋 API 已從 Azure AI 服務移至Bing 搜尋服務。 本文件僅供參考之用。 如需更新的文件,請參閱 Bing 搜尋 API 文件。 如需針對 Bing 搜尋建立新 Azure 資源的指示,請參閱透過 Azure Marketplace 建立 Bing 搜尋資源

使用本快速入門,第一次呼叫 Bing 拼字檢查 REST API。 這個簡單的 JavaScript 應用程式會將要求傳送至 API,並傳回建議的更正清單。

雖然此應用程式是以 JavaScript 撰寫的,但 API 是一種與大多數程式設計語言都相容的 RESTful Web 服務。 您可以在 GitHub 上找到此應用程式的原始程式碼。

Prerequisites

建立 Azure 資源

藉由建立下列其中一項 Azure 資源,開始使用 Bing 拼字檢查 API:

Bing 拼字檢查資源

  • 您可以透過 Azure 入口網站取得該資源,直到將其刪除為止。
  • 使用免費定價層來試用服務,之後可升級至付費層以用於實際執行環境。
  • Bing 拼字檢查 API 也會在 Bing 搜尋 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
            }
         ]
      }
   ]
}

後續步驟