Permintaan streaming mendaftarkan sesi untuk acara livestream. Untuk mengetahui detailnya, lihat Membuat permintaan streaming
Halaman ini membahas cara menggunakan token HMAC untuk mengautentikasi permintaan streaming.
Sebelum memulai
Sebelum 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 ini wajib diisi.
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 pembuatan 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 livestream.EXPIRATION: Wajib. Stempel waktu habis masa berlaku untuk token dalam waktu epoch Unix.
Hitung hash SHA-256 dari string token menggunakan kunci autentikasi DAI Anda.
Format 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.Untuk meneruskan string token yang ditandatangani dengan aman, terapkan encoding URL ke string token yang ditandatangani.
Contoh berikut menandatangani dan mengenkode string token yang masa berlakunya habis 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
Menggunakan 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: streaming. 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>