REST API ucapan ke teks untuk audio pendek
Kasus penggunaan untuk REST API Ucapan ke teks untuk audio pendek dibatasi. Gunakan hanya dalam kasus di mana Anda tidak dapat menggunakan Azure Cognitive Service untuk Ucapan SDK.
Sebelum Anda menggunakan REST API Ucapan ke teks untuk audio pendek, pertimbangkan batasan berikut:
- Permintaan yang menggunakan REST API untuk audio pendek dan mentrasnmisikan audio secara langsung hanya dapat berisi maksimal 60 detik audio. Format audio input lebih terbatas dibandingkan dengan Speech SDK.
- REST API untuk audio pendek hanya mengembalikan hasil akhir. Hal tersebut tidak memberikan hasil parsial.
- Terjemahan ucapan tidak didukung melalui REST API untuk audio pendek. Anda perlu menggunakan SDK Ucapan.
- Transkripsi batch dan ucapan kustom tidak didukung melalui REST API untuk audio pendek. Anda harus selalu menggunakan REST API Ucapan ke teks untuk transkripsi batch dan ucapan kustom.
Sebelum Anda menggunakan REST API Ucapan ke teks untuk audio pendek, pahami bahwa Anda perlu menyelesaikan pertukaran token sebagai bagian dari autentikasi untuk mengakses layanan. Untuk informasi lebih lanjut, lihat Autentikasi.
Wilayah dan titik akhir
Titik akhir untuk REST API untuk audio pendek memiliki format ini:
https://<REGION_IDENTIFIER>.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1
Ganti <REGION_IDENTIFIER>
dengan pengidentifikasi yang cocok dengan wilayah sumber daya Ucapan Anda.
Catatan
Untuk Azure Government dan Microsoft Azure yang dioperasikan oleh titik akhir 21Vianet, lihat artikel tentang sovereign cloud ini.
Format audio
Audio dikirim dalam isi permintaan HTTP POST
. Itu harus dalam salah satu format dalam tabel ini:
Format | Codec | Laju bit | Tingkat sampel |
---|---|---|---|
WAV | PCM | 256 kbps | 16 kHz, mono |
OGG | OPUS | 256 kbps | 16 kHz, mono |
Catatan
Format sebelumnya didukung melalui REST API untuk audio pendek dan WebSocket di layanan Ucapan. SDK Ucapan saat ini mendukung format WAV dengan codec PCM serta format lain.
Header permintaan
Tabel ini mencantumkan header yang diperlukan dan opsional untuk permintaan ucapan ke teks:
Header | Deskripsi | Diperlukan atau opsional |
---|---|---|
Ocp-Apim-Subscription-Key |
Kunci sumber daya Anda untuk layanan Ucapan. | Baik header ini atau Authorization diperlukan. |
Authorization |
Token otorisasi didahului oleh kata Bearer . Untuk informasi lebih lanjut, lihat Autentikasi. |
Baik header ini atau Ocp-Apim-Subscription-Key diperlukan. |
Pronunciation-Assessment |
Menentukan parameter untuk menampilkan skor pengucapan dalam hasil pengenalan. Skor ini menilai kualitas pengucapan input ucapan, dengan indikator seperti akurasi, kefasihan, dan kelengkapan. Parameter ini adalah JSON yang dikodekan Base64 yang berisi beberapa parameter terperinci. Untuk mempelajari cara membuat header ini, lihat Parameter penilaian pengucapan. |
Opsional |
Content-type |
Menjelaskan format dan codec dari data audio yang disediakan. Nilai yang diterima adalah audio/wav; codecs=audio/pcm; samplerate=16000 dan audio/ogg; codecs=opus . |
Wajib |
Transfer-Encoding |
Menentukan bahwa data audio yang dipotong sedang dikirim, bukan satu file. Gunakan header ini hanya jika Anda memotong data audio. | Opsional |
Expect |
Jika menggunakan transfer yang terpotong, kirim Expect: 100-continue . Layanan Ucapan mengakui permintaan awal dan menunggu lebih banyak data. |
Diperlukan jika Anda mengirim data audio yang terpotong. |
Accept |
Jika disediakan, itu harusnya menjadi application/json . Layanan Ucapan memberikan hasil dalam JSON. Beberapa kerangka kerja permintaan memberikan nilai default yang tidak kompatibel. Praktik terbaik adalah selalu menyertakan Accept . |
Opsional, tetapi direkomendasikan. |
Parameter kueri
Parameter ini mungkin disertakan dalam string kueri permintaan REST.
Catatan
Anda harus menambahkan parameter bahasa ke URL untuk menghindari menerima kesalahan HTTP 4xx. Misalnya, bahasa yang diatur ke bahasa Inggris AS melalui titik akhir US Barat adalah: https://westus.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
.
Parameter | Deskripsi | Diperlukan atau opsional |
---|---|---|
language |
Mengidentifikasi bahasa lisan yang sedang dikenali. Lihat Bahasa yang Didukung. | Wajib |
format |
Menentukan format hasil. Nilai yang diterima adalah simple dan detailed . Hasil sederhana mencakup RecognitionStatus , DisplayText , Offset , dan Duration . Respons terperinci mencakup empat representasi teks tampilan yang berbeda. Pengaturan default-nya simple . |
Opsional |
profanity |
Menentukan cara menangani kata-kata tidak senonoh dalam hasil pengenalan. Nilai yang diterima adalah: masked , yang menggantikan kata-kata kotor dengan tanda bintang. removed , yang menghapus semua kata-kata kotor dari hasilnya. raw , yang menyertakan kata-kata kotor dalam hasilnya. Pengaturan default-nya masked . |
Opsional |
cid |
Saat Anda menggunakan Speech Studio untuk membuat model kustom, Anda dapat memanfaatkan nilai ID Titik Akhir dari halaman Penyebaran. Gunakan nilai ID Titik Akhir sebagai argumen untuk cid parameter string kueri. |
Opsional |
Parameter penilaian pengucapan
Tabel ini mencantumkan parameter wajib dan opsional untuk penilaian pengucapan:
Parameter | Deskripsi | Diperlukan atau opsional |
---|---|---|
ReferenceText |
Teks yang dievaluasi oleh pengucapan. | Wajib |
GradingSystem |
Sistem poin untuk kalibrasi skor. Sistem FivePoint memberikan skor poin floating 0-5, dan HundredMark memberikan skor poin floating 0-100. Default: FivePoint . |
Opsional |
Granularity |
Granularitas evaluasi. Nilai yang diterima adalah:Phoneme , yang menunjukkan skor pada tingkat teks lengkap, kata, dan fonem.Word , yang menunjukkan skor pada tingkat teks lengkap dan kata. FullText , yang menunjukkan skor hanya pada tingkat teks lengkap.Pengaturan default-nya Phoneme . |
Opsional |
Dimension |
Menentukan kriteria output. Nilai yang diterima adalah:Basic , yang menunjukkan hanya skor akurasi. Comprehensive , yang menunjukkan skor pada lebih banyak dimensi (misalnya, skor kefasihan dan skor kelengkapan pada tingkat teks lengkap, dan jenis kesalahan pada tingkat kata).Untuk melihat definisi dimensi skor dan jenis kesalahan kata yang berbeda, lihat Properti respons. Pengaturan default-nya Basic . |
Opsional |
EnableMiscue |
Mengaktifkan perhitungan miscue. Dengan parameter ini diaktifkan, kata-kata yang diucapkan dibandingkan dengan teks referensi. Mereka ditandai dengan kelalaian atau penyisipan berdasarkan perbandingan. Nilai yang diterima adalah False dan True . Pengaturan default-nya False . |
Opsional |
ScenarioId |
GUID yang menunjukkan sistem poin disesuaikan. | Opsional |
Berikut adalah contoh JSON yang berisi parameter penilaian pengucapan:
{
"ReferenceText": "Good morning.",
"GradingSystem": "HundredMark",
"Granularity": "FullText",
"Dimension": "Comprehensive"
}
Kode contoh berikut menunjukkan cara menyusun parameter penilaian pengucapan ke dalam header Pronunciation-Assessment
:
var pronAssessmentParamsJson = $"{{\"ReferenceText\":\"Good morning.\",\"GradingSystem\":\"HundredMark\",\"Granularity\":\"FullText\",\"Dimension\":\"Comprehensive\"}}";
var pronAssessmentParamsBytes = Encoding.UTF8.GetBytes(pronAssessmentParamsJson);
var pronAssessmentHeader = Convert.ToBase64String(pronAssessmentParamsBytes);
Kami sangat menyarankan streaming (transfer terpotong) mengunggah saat Anda memposting data audio, yang dapat secara signifikan mengurangi latensi. Untuk mempelajari cara mengaktifkan streaming, lihat kode sampel dalam berbagai bahasa pemrogram.
Catatan
Untuk informasi selengkapnya, lihat penilaian pengucapan.
Permintaan sampel
Sampel berikut mencakup nama host dan header yang diperlukan. Penting untuk dicatat bahwa layanan juga mengharapkan data audio, yang tidak termasuk dalam sampel ini. Seperti disebutkan sebelumnya, pemotongan disarankan, tetapi tidak wajib.
POST speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=detailed HTTP/1.1
Accept: application/json;text/xml
Content-Type: audio/wav; codecs=audio/pcm; samplerate=16000
Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY
Host: westus.stt.speech.microsoft.com
Transfer-Encoding: chunked
Expect: 100-continue
Untuk mengaktifkan penilaian pengucapan, Anda dapat menambahkan header berikut. Untuk mempelajari cara membuat header ini, lihat Parameter penilaian pengucapan.
Pronunciation-Assessment: eyJSZWZlcm...
Kode status HTTP
Kode status HTTP untuk setiap respons menunjukkan keberhasilan atau kesalahan umum.
Kode status HTTP | Deskripsi | Kemungkinan alasan |
---|---|---|
100 | Lanjutkan | Permintaan awal diterima. Lanjutkan dengan mengirim sisa data. (Kode ini digunakan dengan transfer yang dipotong.) |
200 | OK | Permintaan berhasil. Isi respons adalah objek JSON. |
400 | Permintaan Buruk | Kode bahasa tidak disediakan, bahasa tidak didukung, atau file audio tidak valid (misalnya). |
401 | Tidak diizinkan | Kunci sumber daya atau token otorisasi tidak valid di wilayah yang ditentukan, atau titik akhir tidak valid. |
403 | Terlarang | Kunci sumber daya atau token otorisasi hilang. |
Respons sampel
Berikut ini adalah respons umum untuk pengenalan simple
:
{
"RecognitionStatus": "Success",
"DisplayText": "Remind me to buy 5 pencils.",
"Offset": "1236645672289",
"Duration": "1236645672289"
}
Berikut ini adalah respons umum untuk pengenalan detailed
:
{
"RecognitionStatus": "Success",
"Offset": "1236645672289",
"Duration": "1236645672289",
"NBest": [
{
"Confidence": 0.9052885,
"Display": "What's the weather like?",
"ITN": "what's the weather like",
"Lexical": "what's the weather like",
"MaskedITN": "what's the weather like"
},
{
"Confidence": 0.92459863,
"Display": "what is the weather like",
"ITN": "what is the weather like",
"Lexical": "what is the weather like",
"MaskedITN": "what is the weather like"
}
]
}
Respon umum untuk pengenalan dengan penilaian pengucapan:
{
"RecognitionStatus": "Success",
"Offset": "400000",
"Duration": "11000000",
"NBest": [
{
"Confidence" : "0.87",
"Lexical" : "good morning",
"ITN" : "good morning",
"MaskedITN" : "good morning",
"Display" : "Good morning.",
"PronScore" : 84.4,
"AccuracyScore" : 100.0,
"FluencyScore" : 74.0,
"CompletenessScore" : 100.0,
"Words": [
{
"Word" : "Good",
"AccuracyScore" : 100.0,
"ErrorType" : "None",
"Offset" : 500000,
"Duration" : 2700000
},
{
"Word" : "morning",
"AccuracyScore" : 100.0,
"ErrorType" : "None",
"Offset" : 5300000,
"Duration" : 900000
}
]
}
]
}
Properti respons
Hasil disediakan sebagai JSON. Format simple
mencakup bidang tingkat atas berikut:
Properti | Deskripsi |
---|---|
RecognitionStatus |
Status, seperti Success untuk keberhasilan pengenalan. Lihat tabel berikutnya. |
DisplayText |
Teks yang dikenali setelah kapitalisasi, tanda baca, normalisasi teks terbalik, dan masking kata-kata kotor. Hanya hadir jika berhasil. Normalisasi teks terbalik adalah konversi teks lisan ke bentuk yang lebih pendek, seperti 200 untuk "dua ratus" ataupun "Dr. Smith" untuk "dokter smith." |
Offset |
Waktu (dalam unit 100 nanodetik) saat ucapan yang dikenali dimulai dalam aliran audio. |
Duration |
Durasi (dalam unit 100-nanodetik) ucapan yang dikenali dalam aliran audio. |
Bidang RecognitionStatus
bisa berisi nilai berikut:
Keadaan | Deskripsi |
---|---|
Success |
Pengenalan berhasil, dan bidang DisplayText ada. |
NoMatch |
Ucapan terdeteksi di aliran audio, tetapi tidak ada kata dari bahasa target yang cocok. Status ini biasanya berarti bahwa bahasa pengenalan berbeda dari bahasa yang diucapkan pengguna. |
InitialSilenceTimeout |
Awal stream audio hanya berisi keheningan, dan waktu layanan habis saat menunggu ucapan. |
BabbleTimeout |
Awal stream audio hanya berisi kebisingan, dan waktu layanan habis saat menunggu ucapan. |
Error |
Layanan pengenalan mengalami kesalahan internal dan tidak dapat dilanjutkan. Coba lagi jika memungkinkan. |
Catatan
Jika audio hanya berisi kata-kata tidak senonoh, dan parameter kueri profanity
diatur ke remove
, layanan tidak akan mengembalikan hasil ucapan.
Format ini detailed
mencakup lebih banyak bentuk hasil yang dikenali.
Saat menggunakan format detailed
, DisplayText
diberikan sebagai Display
untuk setiap hasil dalam daftar NBest
.
Objek dalam daftar NBest
dapat mencakup:
Properti | Deskripsi |
---|---|
Confidence |
Skor keyakinan entri, dari 0,0 (tidak yakin) hingga 1,0 (sangat yakin). |
Lexical |
Bentuk leksikal dari teks yang dikenali: kata-kata aktual yang dikenali. |
ITN |
Inverse-text-normalized (ITN) atau bentuk kanonik dari teks yang dikenali, dengan nomor telepon, angka, singkatan ("dokter smith" menjadi "dr smith"), dan transformasi lainnya diterapkan. |
MaskedITN |
Formulir ITN dengan penyembunyian kata-kata kotor diterapkan, jika diminta. |
Display |
Bentuk tampilan teks yang dikenali, dengan tanda baca dan penggunaan huruf besar/kecil ditambahkan. Parameter ini sama dengan yang disediakan DisplayText saat format diatur ke simple . |
AccuracyScore |
Akurasi pelafalan ucapan. Akurasi menunjukkan seberapa dekat fonem cocok dengan pengucapan penutur asli. Skor akurasi pada tingkat kata dan teks lengkap diagregasi dari skor akurasi di tingkat fonem. |
FluencyScore |
Kefasihan ucapan yang diberikan. Kefasihan menunjukkan seberapa dekat ucapan cocok dengan penggunaan jeda diam di antara kata-kata penutur asli. |
CompletenessScore |
Kelengkapan ucapan, ditentukan dengan menghitung rasio kata yang diucapkan dengan input teks referensi. |
PronScore |
Skor keseluruhan yang menunjukkan kualitas pengucapan dari ucapan yang diberikan. Skor ini diagregasi dari AccuracyScore , FluencyScore , dan CompletenessScore dengan bobot. |
ErrorType |
Nilai yang menunjukkan apakah kata dihilangkan, disisipkan, atau diucapkan dengan buruk, dibandingkan dengan ReferenceText . Nilai yang mungkin adalah None (artinya tidak ada kesalahan pada kata ini), Omission , Insertion , dan Mispronunciation . |
Transfer terpotong
Transfer terpotong (Transfer-Encoding: chunked
) dapat membantu mengurangi latensi pengenalan. Ini memungkinkan layanan Ucapan untuk mulai memproses file audio saat sedang ditransmisikan. REST API untuk audio pendek tidak memberikan hasil parsial atau sementara.
Sampel kode berikut menunjukkan cara mengirim audio dalam potongan. Hanya potongan pertama yang harus berisi header file audio. request
adalah objek HttpWebRequest
yang tersambung ke titik akhir REST yang sesuai. audioFile
adalah jalur ke file audio di disk.
var request = (HttpWebRequest)HttpWebRequest.Create(requestUri);
request.SendChunked = true;
request.Accept = @"application/json;text/xml";
request.Method = "POST";
request.ProtocolVersion = HttpVersion.Version11;
request.Host = host;
request.ContentType = @"audio/wav; codecs=audio/pcm; samplerate=16000";
request.Headers["Ocp-Apim-Subscription-Key"] = "YOUR_RESOURCE_KEY";
request.AllowWriteStreamBuffering = false;
using (var fs = new FileStream(audioFile, FileMode.Open, FileAccess.Read))
{
// Open a request stream and write 1,024-byte chunks in the stream one at a time.
byte[] buffer = null;
int bytesRead = 0;
using (var requestStream = request.GetRequestStream())
{
// Read 1,024 raw bytes from the input audio file.
buffer = new Byte[checked((uint)Math.Min(1024, (int)fs.Length))];
while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) != 0)
{
requestStream.Write(buffer, 0, bytesRead);
}
requestStream.Flush();
}
}
Autentikasi
Setiap permintaan memerlukan header otorisasi. Tabel ini mengilustrasikan header mana yang didukung untuk setiap fitur:
Header otorisasi yang didukung | Ucapan ke Teks | Teks ke ucapan |
---|---|---|
Ocp-Apim-Subscription-Key |
Ya | Ya |
Authorization: Bearer |
Ya | Ya |
Saat Anda menggunakan Ocp-Apim-Subscription-Key
header, hanya kunci sumber daya Anda yang harus disediakan. Contohnya:
'Ocp-Apim-Subscription-Key': 'YOUR_SUBSCRIPTION_KEY'
Saat menggunakan Authorization: Bearer
header, Anda perlu membuat permintaan ke issueToken
titik akhir. Dalam permintaan ini, Anda menukar kunci sumber daya dengan token akses yang berlaku selama 10 menit.
Opsi lain adalah menggunakan autentikasi Microsoft Entra yang juga menggunakan Authorization: Bearer
header, tetapi dengan token yang dikeluarkan melalui ID Microsoft Entra. Lihat Menggunakan autentikasi Microsoft Entra.
Cara mendapatkan token akses
Untuk mendapatkan token akses, Anda perlu membuat permintaan ke issueToken
titik akhir dengan menggunakan Ocp-Apim-Subscription-Key
dan kunci sumber daya Anda.
Titik akhir issueToken
memiliki format ini:
https://<REGION_IDENTIFIER>.api.cognitive.microsoft.com/sts/v1.0/issueToken
Ganti <REGION_IDENTIFIER>
dengan pengidentifikasi yang cocok dengan wilayah langganan Anda.
Gunakan sampel berikut untuk membuat permintaan token akses Anda.
Sampel HTTP
Contoh ini adalah permintaan HTTP sederhana untuk mendapatkan token. Ganti YOUR_SUBSCRIPTION_KEY
dengan kunci sumber daya Anda untuk layanan Ucapan. Jika langganan Anda tidak berada di wilayah US Barat, ganti header Host
dengan nama host wilayah Anda.
POST /sts/v1.0/issueToken HTTP/1.1
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY
Host: eastus.api.cognitive.microsoft.com
Content-type: application/x-www-form-urlencoded
Content-Length: 0
Isi respons berisi token akses dalam format JSON Web Token (JWT).
Sampel PowerShell
Contoh ini adalah skrip PowerShell sederhana untuk mendapatkan token akses. Ganti YOUR_SUBSCRIPTION_KEY
dengan kunci sumber daya Anda untuk layanan Ucapan. Pastikan untuk menggunakan titik akhir yang benar untuk wilayah yang cocok dengan langganan Anda. Contoh ini saat ini diatur ke US Barat.
$FetchTokenHeader = @{
'Content-type'='application/x-www-form-urlencoded';
'Content-Length'= '0';
'Ocp-Apim-Subscription-Key' = 'YOUR_SUBSCRIPTION_KEY'
}
$OAuthToken = Invoke-RestMethod -Method POST -Uri https://eastus.api.cognitive.microsoft.com/sts/v1.0/issueToken
-Headers $FetchTokenHeader
# show the token received
$OAuthToken
Sampel cURL
cURL adalah alat baris perintah yang tersedia di Linux (dan di Subsistem Windows untuk Linux). Perintah cURL ini menggambarkan cara mendapatkan token akses. Ganti YOUR_SUBSCRIPTION_KEY
dengan kunci sumber daya Anda untuk layanan Ucapan. Pastikan untuk menggunakan titik akhir yang benar untuk wilayah yang cocok dengan langganan Anda. Contoh ini saat ini diatur ke US Barat.
curl -v -X POST \
"https://eastus.api.cognitive.microsoft.com/sts/v1.0/issueToken" \
-H "Content-type: application/x-www-form-urlencoded" \
-H "Content-Length: 0" \
-H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY"
Sampel C#
Kelas C# ini menggambarkan cara mendapatkan token akses. Teruskan kunci sumber daya Anda untuk layanan Ucapan saat Anda membuat instans kelas. Jika langganan Anda tidak berada di wilayah US Barat, ubah nilai FetchTokenUri
agar cocok dengan wilayah untuk langganan Anda.
public class Authentication
{
public static readonly string FetchTokenUri =
"https://eastus.api.cognitive.microsoft.com/sts/v1.0/issueToken";
private string subscriptionKey;
private string token;
public Authentication(string subscriptionKey)
{
this.subscriptionKey = subscriptionKey;
this.token = FetchTokenAsync(FetchTokenUri, subscriptionKey).Result;
}
public string GetAccessToken()
{
return this.token;
}
private async Task<string> FetchTokenAsync(string fetchUri, string subscriptionKey)
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
UriBuilder uriBuilder = new UriBuilder(fetchUri);
var result = await client.PostAsync(uriBuilder.Uri.AbsoluteUri, null);
Console.WriteLine("Token Uri: {0}", uriBuilder.Uri.AbsoluteUri);
return await result.Content.ReadAsStringAsync();
}
}
}
Sampel Python
# Request module must be installed.
# Run pip install requests if necessary.
import requests
subscription_key = 'REPLACE_WITH_YOUR_KEY'
def get_token(subscription_key):
fetch_token_url = 'https://eastus.api.cognitive.microsoft.com/sts/v1.0/issueToken'
headers = {
'Ocp-Apim-Subscription-Key': subscription_key
}
response = requests.post(fetch_token_url, headers=headers)
access_token = str(response.text)
print(access_token)
Cara menggunakan token akses
Token akses harus dikirim ke layanan sebagai header Authorization: Bearer <TOKEN>
. Setiap token akses berlaku selama 10 menit. Anda bisa mendapatkan token baru kapan saja, tetapi, untuk meminimalkan lalu lintas dan latensi jaringan, sebaiknya gunakan token yang sama selama sembilan menit.
Berikut adalah contoh permintaan HTTP ke REST API Ucapan ke teks untuk audio pendek:
POST /cognitiveservices/v1 HTTP/1.1
Authorization: Bearer YOUR_ACCESS_TOKEN
Host: westus.stt.speech.microsoft.com
Content-type: application/ssml+xml
Content-Length: 199
Connection: Keep-Alive
// Message body here...
Menggunakan autentikasi Microsoft Entra
Untuk menggunakan autentikasi Microsoft Entra dengan REST API Ucapan ke teks untuk audio pendek, Anda perlu membuat token akses. Langkah-langkah untuk mendapatkan token akses yang terdiri dari ID Sumber Daya dan token akses Microsoft Entra sama seperti saat menggunakan Speech SDK. Ikuti langkah-langkah di sini Menggunakan autentikasi Microsoft Entra
- Membuat sumber daya Ucapan
- Mengonfigurasi sumber daya Ucapan untuk autentikasi Microsoft Entra
- Mendapatkan token akses Microsoft Entra
- Dapatkan ID sumber daya Ucapan
Setelah ID sumber daya dan token akses Microsoft Entra diperoleh, token akses aktual dapat dibangun mengikuti format ini:
aad#YOUR_RESOURCE_ID#YOUR_MICROSOFT_ENTRA_ACCESS_TOKEN
Anda perlu menyertakan awalan "aad#" dan pemisah "#" (hash) antara ID sumber daya dan token akses.
Berikut adalah contoh permintaan HTTP ke REST API Ucapan ke teks untuk audio pendek:
POST /cognitiveservices/v1 HTTP/1.1
Authorization: Bearer YOUR_ACCESS_TOKEN
Host: westus.stt.speech.microsoft.com
Content-type: application/ssml+xml
Content-Length: 199
Connection: Keep-Alive
// Message body here...
Untuk mempelajari selengkapnya tentang token akses Microsoft Entra, termasuk masa pakai token, kunjungi Token akses di platform identitas Microsoft.