在直播中插入提示點。提示點可能會觸發廣告插播。
注意:這個方法取代了 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 | stringid參數會指出要插入提示點的廣播。插入提示點時,直播必須處於正在串流的狀態。 | |
| 選用參數 | ||
| 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 | stringYouTube 會指派這個值,用於明確識別 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 要求和回應。