Mulai cepat: Periksa ejaan dengan REST API Pemeriksa Ejaan Bing dan C#
Peringatan
Pada 30 Oktober 2020, API Bing Search dipindahkan dari layanan Azure AI ke Bing Search Services. Dokumentasi ini disediakan hanya untuk referensi. Untuk dokumentasi terbaru, lihat dokumentasi Bing Search API. Untuk petunjuk tentang cara membuat sumber daya Azure baru untuk pencarian Bing, lihat Membuat sumber daya Pencarian Bing melalui Marketplace Azure.
Gunakan mulai cepat ini untuk melakukan panggilan pertama Anda ke Bing Spell Check REST API. Aplikasi C# sederhana ini mengirimkan permintaan ke API dan mengembalikan daftar koreksi yang disarankan.
Meskipun aplikasi ini ditulis dalam C#, API adalah layanan Web RESTful yang kompatibel dengan sebagian besar bahasa pemrograman. Kode sumber untuk aplikasi ini tersedia di GitHub.
Prasyarat
Semua edisi Visual Studio 2017 atau yang lebih baru.
Paket Newtonsoft.Json NuGet.
Untuk menginstal paket ini di Visual studio:
- Di Penjelajah Solusi, klik kanan file Solusi.
- Pilih Kelola Paket NuGet untuk Solusi.
- Cari Newtonsoft.Json dan instal paket.
Jika menggunakan Linux/MacOS, Anda dapat menjalankan aplikasi ini menggunakan Mono.
Membuat grup sumber daya Azure
Mulai gunakan Bing Spell Check API dengan membuat salah satu sumber daya Azure berikut:
- Tersedia melalui portal Azure hingga Anda menghapus sumber daya.
- Gunakan tingkat harga gratis untuk mencoba layanan, dan tingkatkan ke tingkat berbayar untuk produksi di kemudian hari.
- Bing Spell Check API juga ditawarkan di beberapa tingkatan sumber daya Bing Search v7.
- Tersedia melalui portal Microsoft Azure hingga Anda menghapus sumber daya.
- Gunakan kunci dan titik akhir yang sama untuk aplikasi Anda, di beberapa layanan Azure AI.
Membuat dan menginisialisasi proyek
Buat solusi konsol baru bernama SpellCheckSample di Visual Studio. Kemudian, tambahkan kumpulan nama XML berikut ke dalam file kode utama:
using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; using System.Text; using Newtonsoft.Json;
Buat variabel untuk titik akhir API, kunci langganan Anda, dan teks yang akan diperiksa ejaannya. Anda dapat menggunakan titik akhir global dalam kode berikut, atau menggunakan titik akhir subdomain kustom yang ditampilkan di portal Azure untuk sumber daya Anda.
namespace SpellCheckSample { class Program { static string host = "https://api.cognitive.microsoft.com"; static string path = "/bing/v7.0/spellcheck?"; static string key = "<ENTER-KEY-HERE>"; //text to be spell-checked static string text = "Hollo, wrld!"; } }
Membuat untai (karakter) untuk parameter pencarian Anda:
Tetapkan kode pasar Anda ke parameter
mkt
dengan operator=
. Kode pasar adalah kode negara/wilayah tempat Anda mengajukan permintaan.Tambahkan parameter
mode
dengan operator&
, lalu tetapkan mode pemeriksa ejaan. Mode dapat berupaproof
(menangkap sebagian besar kesalahan ejaan/tata bahasa) atauspell
(menangkap sebagian besar kesalahan ejaan, tetapi tidak sebanyak kesalahan tata bahasa).
static string params_ = "mkt=en-US&mode=proof";
Membuat dan mengirim permintaan pemeriksaan ejaan
Buat fungsi asinkron yang disebut
SpellCheck()
untuk mengirim permintaan ke API. BuatHttpClient
, dan tambahkan kunci langganan Anda ke headerOcp-Apim-Subscription-Key
. Ikuti langkah-langkah berikutnya dalam fungsi.async static void SpellCheck() { var client = new HttpClient(); client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", key); HttpResponseMessage response = null; // add the rest of the code snippets here (except for main())... }
Buat URI untuk permintaan Anda dengan menambahkan host, jalur, dan parameter Anda.
string uri = host + path + params_;
Buat daftar dengan objek
KeyValuePair
yang berisi teks Anda, dan gunakan untuk membuat objekFormUrlEncodedContent
. Atur informasi header, dan gunakanPostAsync()
untuk mengirim permintaan.var values = new Dictionary<string, string>(); values.Add("text", text); var content = new FormUrlEncodedContent(values); content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded"); response = await client.PostAsync(uri, new FormUrlEncodedContent(values));
Dapatkan dan cetak respons API
Dapatkan header ID klien
Jika respons berisi header X-MSEdge-ClientID
, dapatkan nilainya dan cetak.
string client_id;
if (response.Headers.TryGetValues("X-MSEdge-ClientID", out IEnumerable<string> header_values))
{
client_id = header_values.First();
Console.WriteLine("Client ID: " + client_id);
}
Dapatkan respons
Dapatkan respons dari API. Deserialisasi objek JSON, dan cetak ke konsol.
string contentString = await response.Content.ReadAsStringAsync();
dynamic jsonObj = JsonConvert.DeserializeObject(contentString);
Console.WriteLine(jsonObj);
Memanggil fungsi pemeriksaan ejaan
Dalam fungsi Main()
proyek Anda, panggil SpellCheck()
.
static void Main(string[] args)
{
SpellCheck();
Console.ReadLine();
}
Menjalankan aplikasi
Membangun dan menjalankan proyek Anda. Jika Anda menggunakan Visual Studio, tekan F5 untuk men-debug file.
Contoh respons JSON
Respons yang berhasil dikembalikan di JSON, seperti yang diperlihatkan dalam contoh berikut:
{
"_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
}
]
}
]
}