在直播中插入提示點。提示點可能會觸發廣告插播。
注意:這個方法取代了 liveCuepoints.insert
方法,後者要求要求必須由與 YouTube 內容擁有者相關聯的帳戶授權。這個方法不受相同的授權要求限制。
要求
HTTP 要求
POST https://www.googleapis.com/youtube/v3/liveBroadcasts/cuepoint
授權
這項要求需要至少具備下列其中一個範圍的授權。如要進一步瞭解驗證和授權,請參閱「實作 OAuth 2.0 驗證」。
範圍 |
---|
https://www.googleapis.com/auth/youtube |
https://www.googleapis.com/auth/youtube.force-ssl |
https://www.googleapis.com/auth/youtubepartner |
參數
下表列出這項查詢支援的參數。列出的所有參數都是查詢參數。
參數 | ||
---|---|---|
必要參數 | ||
id |
string id 參數會指出要插入提示點的廣播。插入提示點時,直播必須處於正在串流的狀態。 |
|
選用參數 | ||
onBehalfOfContentOwner |
string 這個參數只能用於適當的授權要求。 注意:這個參數專供擁有及管理多個 YouTube 頻道的 YouTube 內容合作夥伴使用。這項功能可讓內容擁有者驗證一次,並代表參數值中指定的管道執行動作,不必為每個管道分別提供不同的驗證憑證。使用者驗證的帳戶必須連結至指定的 YouTube 內容擁有者。
onBehalfOfContentOwner 參數表示要求的授權憑證可識別代表參數值中指定 YouTube 內容擁有者行事的 YouTube 使用者。這個參數適用於擁有及管理多個 YouTube 頻道的 YouTube 內容合作夥伴。 |
|
onBehalfOfContentOwnerChannel |
string 這個參數只能用於適當的授權要求。 注意:這個參數僅供擁有及管理多個 YouTube 頻道的 YouTube 內容合作夥伴使用。這項功能可讓內容擁有者驗證一次,並代表參數值中指定的管道執行動作,而無須為每個管道分別提供驗證憑證。
onBehalfOfContentOwnerChannel 參數會指定與要插入提示點的廣播相關聯的 YouTube 頻道 ID。當要求為 onBehalfOfContentOwner 參數指定值時,就必須使用這個參數,且只能與該參數搭配使用。以下規定也適用:
|
要求主體
請在要求主體中提供 cuepoint
資源。以下 JSON 結構顯示 cuepoint
資源的格式:
{ "id": string, "insertionOffsetTimeMs": long, "walltimeMs": datetime, "durationSecs": unsigned integer, "cueType": string }
cueType
欄位為必要欄位,且必須設為 cueTypeAd
。
您也可以為這些屬性設定值:
durationSecs
insertionOffsetTimeMs
(如果已設定walltimeMs
,則不得設定)walltimeMs
(如果已設定insertionOffsetTimeMs
,則不得設定)
屬性
下表定義了這個資源中顯示的屬性:
屬性 | |
---|---|
id |
string YouTube 會指派這個值,用於明確識別 cuepoint。請注意,這個值與用於識別廣播的必要 id 參數不同。傳送插入 Cue Point 的要求時,可以省略這個值。這個值會填入 API 回應中。
|
insertionOffsetTimeMs |
long 屬性值會指出應插入 cuepoint 的時間偏移量 (以毫秒為單位)。這個值會從監控串流的開頭開始計算,其預設值為 0 ,表示應盡快插入 cuepoint。如果直播沒有監控串流,請勿為此參數指定值。雖然以毫秒為單位,但這個值實際上是近似值,YouTube 會盡可能在該時間插入 cuepoint。 只有在廣播串流延遲時,系統才支援這個欄位的非零值。如果廣播串流沒有延遲, 0 是唯一有效的值。詳情請參閱「開始使用」一文。注意:如果廣播活動有測試階段,系統會從測試階段開始的時間計算偏移量。 如果要求嘗試插入可為此屬性和 walltimeMs 屬性指定值的 cuepoint,API 會傳回錯誤。
|
walltimeMs |
integer 屬性值會指定應插入 cuepoint 的標準時鐘時間。這個值是整數,代表 Epoch 時間戳記 (以毫秒為單位)。 如果要求嘗試插入可為此屬性和 insertionOffsetTimeMs 屬性指定值的 cuepoint,API 會傳回錯誤。 |
durationSecs |
unsigned integer 提示點的時間長度,以秒為單位。值必須是正整數。預設值為 30 。 |
cueType |
string 提示點的類型。屬性值必須設為 cueTypeAd 。 |
回應
如果成功,這個方法會在回應內文中傳回插入的 cuepoint
資源。
錯誤
下表列出 API 在回應對此方法的呼叫時可能傳回的錯誤訊息。詳情請參閱「YouTube Live Streaming API - Errors」。
錯誤類型 | 錯誤詳細資料 | 說明 |
---|---|---|
insufficientPermissions (403) |
insufficientLivePermissions |
要求未獲授權在直播中插入提示點。 |
insufficientPermissions (403) |
liveStreamingNotEnabled |
授權要求的使用者無法在 YouTube 上進行直播。如要進一步瞭解相關資訊,請參閱「開始直播」和「功能使用資格」。 |
rateLimitExceeded (403) |
userRequestsExceedRateLimit |
使用者在特定時間範圍內傳送過多要求。 |
required (400) |
idRequired |
必要的 id 參數必須指出要插入 cuepoint 的廣播。 |
required (400) |
cueTypeRequired |
必須在 API 要求主體中指定 cueType 欄位。 |
notFound (404) |
liveBroadcastNotFound |
id 參數指定的廣播不存在。 |
invalidValue (400) |
conflictingTimeFields |
只能指定 insertionOffsetTimeMs 或 walltimeMs 其中之一。設定這兩個值會導致錯誤。如果未設定任何值,YouTube 會使用預設的 insertionOffsetTimeMs 時間 (0 ),也就是盡快插入提示點。 |
invalidValue (400) |
invalidInsertionOffsetTimeMs |
cuepoint 資源指定的 insertionOffsetTimeMs 屬性值無效。值必須是 0 或正整數。 |
invalidValue (400) |
invalidWalltimeMs |
cuepoint 資源指定的 walltimeMs 屬性值無效。這個值必須是代表紀元時間戳記 (以毫秒為單位) 的整數。 |
backendError (5xx) |
serviceUnavailable |
無法使用服務,請過幾分鐘後再嘗試提出要求。 |
試試看!
使用 APIs Explorer 呼叫此 API,並查看 API 要求和回應。