Permintaan streaming mendaftarkan sesi untuk acara livestream. Untuk mengetahui detailnya, lihat Membuat permintaan streaming
Halaman ini membahas penggunaan token HMAC untuk mengautentikasi permintaan streaming.
Sebelum memulai
Sebelum Anda melanjutkan, lakukan hal berikut:
- Selesaikan prasyarat.
- Di akun Google Ad Manager, aktifkan Kunci autentikasi pembuatan streaming untuk acara livestream Anda. Jika Anda menggunakan autentikasi token, kunci diperlukan.
Membuat token HMAC
Untuk membuat token, lakukan hal berikut:
- Kumpulkan kunci aset dan waktu habis masa berlaku livestream Anda. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan autentikasi untuk permintaan guna membuat sesi streaming DAI
Urutkan parameter berikut menurut abjad dan pisahkan parameter dengan karakter tilde
~:event=ASSET_KEY~exp=EXPIRATIONGanti kode berikut:
ASSET_KEY: Wajib. Kunci aset acara live stream.EXPIRATION: Wajib. Stempel waktu masa berlaku token dalam waktu epoch Unix.
Hitung hash SHA-256 string token menggunakan kunci autentikasi DAI Anda.
Memformat output hash dalam heksadesimal.
Untuk menandatangani string token, tambahkan tanda tangan di akhir parameter yang dikumpulkan sebelumnya:
event=...~hmac=HMAC_SIGNATUREGanti
HMAC_SIGNATUREdengan tanda tangan yang Anda buat dengan melakukan hashing pada string token menggunakan kunci autentikasi DAI Anda.Untuk meneruskan string token bertanda tangan dengan aman, terapkan encoding URL ke string token bertanda tangan.
Contoh berikut menandatangani dan mengenkode string token yang akan habis masa berlakunya dalam waktu 60 detik:
# Add 60 seconds to the current time
future_epoch=$((EPOCHSECONDS + 60))
echo "Current: $EPOCHSECONDS"
echo "Future: $future_epoch"
# Current: 1767389133
# Future: 1767389193
# Sample DAI stream authentication key
key="DE0E9..."
# Sort parameters in the token string
token="event=YRB0Bl0oQRCb5J-maPpJUQ~exp=1767389193"
# Generate the token's signature.
echo -n $token | openssl dgst -sha256 -mac HMAC -macopt key:$key
# SHA2-256(stdin)= 9935a013957e5ce893a7ee444d3d452fd0de7d273ff8b65471ddd4619b80d248
# Sign the token: event=YRB0Bl0oQRCb5J-maPpJUQ~exp=1767389193~hmac=9935a013957e5ce893a7ee444d3d452fd0de7d273ff8b65471ddd4619b80d248
# Encode the token: event%3DYRB0Bl0oQRCb5J%2DmaPpJUQ%7Eexp%3D1767389193%7Ehmac%3D9935a013957e5ce893a7ee444d3d452fd0de7d273ff8b65471ddd4619b80d248
Gunakan token HMAC untuk meminta sesi livestream
Untuk mengautentikasi permintaan pembuatan streaming dengan token HMAC, lakukan salah satu hal berikut:
Header permintaan Authorization
curl "https://dai.google.com/linear/v1/hls/event/YRB0Bl0oQRCb5J-maPpJUQ/stream" \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: DCLKDAI token=event%3DYRB0Bl0oQRCb5J%2DmaPpJUQ%7Eexp%3D1767389193%7Ehmac%3D9935a013957e5ce893a7ee444d3d452fd0de7d273ff8b65471ddd4619b80d248"
Parameter string kueri
curl "https://dai.google.com/linear/v1/hls/event/YRB0Bl0oQRCb5J-maPpJUQ/stream?auth-token=event%3DYRB0Bl0oQRCb5J%2DmaPpJUQ%7Eexp%3D1767389193%7Ehmac%3D9935a013957e5ce893a7ee444d3d452fd0de7d273ff8b65471ddd4619b80d248" \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded"
Kolom data formulir
curl "https://dai.google.com/linear/v1/hls/event/YRB0Bl0oQRCb5J-maPpJUQ/stream" \
-X POST \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "auth-token=event%3DYRB0Bl0oQRCb5J%2DmaPpJUQ%7Eexp%3D1767389193%7Ehmac%3D9935a013957e5ce893a7ee444d3d452fd0de7d273ff8b65471ddd4619b80d248"
Jika berhasil, Anda akan melihat respons JSON berikut:
{
"hls_master_playlist": "https://dai.google.com/linear/hls/pa/event/YRB0Bl0oQRCb5J-maPpJUQ/stream/e91f907e-6a0a-4795-8c96-c8e36e89cbf6:DLS/master.m3u8",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/e91f907e-6a0a-4795-8c96-c8e36e89cbf6:DLS/loc/DLS/network/21775744923/event/YRB0Bl0oQRCb5J-maPpJUQ/media/",
"metadata_url": "https://dai.google.com/linear/v1/pa/event/YRB0Bl0oQRCb5J-maPpJUQ/stream/e91f907e-6a0a-4795-8c96-c8e36e89cbf6:DLS/metadata",
"polling_frequency": 10,
"session_update_url": "https://dai.google.com/linear/v1/pa/event/YRB0Bl0oQRCb5J-maPpJUQ/stream/e91f907e-6a0a-4795-8c96-c8e36e89cbf6:DLS/session",
"stream_id": "e91f907e-6a0a-4795-8c96-c8e36e89cbf6:DLS",
"stream_manifest": "https://dai.google.com/linear/hls/pa/event/YRB0Bl0oQRCb5J-maPpJUQ/stream/e91f907e-6a0a-4795-8c96-c8e36e89cbf6:DLS/master.m3u8"
}
Untuk memahami struktur respons dan kode status, lihat Metode: stream. Jika autentikasi gagal, Anda akan melihat error berikut:
<!DOCTYPE html>
<html lang=en>
<meta charset=utf-8>
<meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
<title>Error 401 (Unauthorized)!!1</title>
...
<a href=//www.google.com/><span id=logo aria-label=Google></span></a>
<p><b>401.</b> <ins>That’s an error.</ins>
<p><ins>That’s all we know.</ins>