Я нахожусь в процессе создания сценария, который обновляет заголовок и описание живого потока. Я прочитал доступную документацию и прошел общие шаги:
- Создание учетной записи YouTube; получить одобрение для прямой трансляции
- Establi sh Учетные данные API - я использую внутреннюю настройку GSuite OAuth
- Добавить разрешения для учетной записи службы
Это все работает безупречно , когда я использую API Explorer и вручную выбираю учетную запись бренда; однако, когда я беру сгенерированный код Python и объединяюсь с соответствующим кодом учетной записи службы, у меня появляется ошибка разрешений.
request = youtube.liveBroadcasts().update(
part="contentDetails,snippet,status",
body={
"contentDetails": {
"enableClosedCaptions": True,
"enableContentEncryption": True,
"enableDvr": True,
"enableEmbed": False,
"recordFromStart": True,
"startWithSlate": False,
"monitorStream": {
"enableMonitorStream": True,
"broadcastStreamDelayMs": 5
}
},
"id": "<video_id_here>",
"snippet": {
"scheduledStartTime": "2020-03-04T01:27:02Z",
"title": "New Foorbar Title"
},
"status": {
"privacyStatus": "public"
}
}
response = request.execute()
unauthorized_client: клиент не авторизован для получения маркеров доступа используя этот метод, или клиент не авторизован ни для одной из запрошенных областей.
Я попытался установить в поле темы адрес электронной почты основной учетной записи (x@example.com
), x@example.iam.gserviceaccount.com
электронная почта и электронная почта бренда x@pages.plusgoogle.com
, найденные в настройках своей учетной записи. Я просмотрел почти все, что имеет к этому отношение, и средство отслеживания проблем представляется наиболее полезным (но неутешительным!).
Это заставляет меня понять, что это просто невозможно полностью автоматизировать c полномочия API для фирменного аккаунта.
У кого-нибудь есть понимание этой проблемы? Я скучаю по чему-то довольно тривиальному? Или это ограниченное ограничение от Google?