【问题标题】:update youtube live stream privacy status更新 youtube 直播隐私状态
【发布时间】:2017-01-25 14:16:21
【问题描述】:

我正在尝试更新 scala 中 LiveBroadcast 的隐私状态(使用 java jdk)。这是我的工作流程:

创建具有private 隐私状态的直播

val snippet = new LiveBroadcastSnippet()
    .setTitle(title)
    .setScheduledStartTime(YouTubeDateTime.now())
    .setChannelId(channel.getId)

val status = new LiveBroadcastStatus()
  .setPrivacyStatus("private")

val broadcast = new LiveBroadcast()
  .setKind("youtube#liveBroadcast")
  .setSnippet(snippet)
  .setStatus(status)

val request = youtube.liveBroadcasts()
  .insert("snippet,status,contentDetails", broadcast)

request.execute

将 LiveBroadcast 转换为 testing(如果绑定的 LiveStream 处于活动状态)

val request = youtube.liveBroadcasts
    .transition(lifeCycleStatus.toString, broadcast.getId, "status")

request.execute

对直播感到满意后,将直播隐私设置为public

val status = new LiveBroadcastStatus().setPrivacyStatus("public")

broadcast.setStatus(status)

val request = youtube.liveBroadcasts.update("status", broadcast)

request.execute()

最后一部分不起作用,而是返回 400 响应:

400 Bad Request
{
  "code" : 400,
  "errors" : [ {
    "domain" : "youtube.part",
    "location" : "part",
    "locationType" : "parameter",
    "message" : "{0}",
    "reason" : "unexpectedPart"
  } ],
  "message" : "{0}"
}

执行相同的请求 here 有效,所以我不确定自己做错了什么。

谁能帮忙?

【问题讨论】:

    标签: scala youtube youtube-api youtube-data-api youtube-livestreaming-api


    【解决方案1】:

    我可能错了,但我认为您还应该在 LiveBroadcast 请求中添加 id 参数。这是 YouTube 分配的 ID,用于唯一标识广播。

    您可能需要遵循Life of a Broadcast 中讨论的有关如何创建和管理直播的指南,其中还提到在设置广播时处理 API 响应:

    您的代码应从该资源中提取并存储id,因为您将需要该值来识别未来 API 请求中的广播。 (您也可以使用相同的ID来识别与直播资源对应的视频资源。)

    除此之外,遇到错误400 Bad Request 指定详细信息unexpectedPart,如YouTube Data API - Errors 中的常见请求错误所述,意味着:

    请求的部分参数指定了一个意外的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-16
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 2015-07-25
      • 2016-10-01
      • 2022-11-07
      • 1970-01-01
      相关资源
      最近更新 更多