Я пытаюсь обновить статус конфиденциальности LiveBroadcast в scala (используя 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
Когда вы будете довольны трансляцией, установите для параметра конфиденциальности LiveBroadcast значение 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}"
}
Выполнение того же запроса здесь работает, поэтому я не уверен что я делаю неправильно.
Кто-нибудь может помочь?