在直播中插入提示點。提示點可能會觸發廣告插播。
注意:這個方法取代了 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。
  
  您也可以為這些屬性設定值:
  durationSecsinsertionOffsetTimeMs(如果已設定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 要求和回應。