YouTube API v3: нравится видео на Python
Мне нужно иметь возможность «лайкать» конкретное видео по идентификатору через новый API YouTube v3 для аутентифицированного пользователя. Я отслеживаю действия / вставьте руководство, найденное здесь:
https://developers.google.com/youtube/v3/docs/activities/insert
Этот пример кода работает нормально для публикации бюллетеня на моем канале, но когда я пытаюсь изменить тело, чтобы сформировать подобное утверждение, я получаю ошибку 400. Вот то, что я изменил по сравнению с оригинальным примером, в котором настроено тело dict:
body = {}
body["snippet"] = dict(type='like')
body["contentDetails"] = dict(
like=dict(
resourceId=dict(
kind="youtube#video",
videoId='_M9khs87xQ8'
)
)
)
Согласно следующей документации, поля, кажется, настроены правильно.
https://developers.google.com/youtube/v3/docs/activities
Но я продолжаю получать 400 HttpEror вот так
<HttpError 400 when requesting https://www.googleapis.com/youtube/v3/activities?alt=json&part=snippet%2CcontentDetails returned "Bad Request">
Я также попытался приспособить это к любимому видео-действию, но получил тот же результат. Я пропускаю некоторые обязательные поля? Это правильная конечная точка для создания подобного действия?
Заранее спасибо Джастин
ОбновитьДжефф ответил на этот вопрос, и рабочее решение опубликовано ниже.
for item in youtube.channels().list(part='contentDetails', mine=True).execute().get('items', []):
playlists = item['contentDetails'].get('relatedPlaylists', {})
if 'likes' in playlists:
body = {
"snippet": {
"playlistId": playlists['likes'],
"resourceId": {
"kind": 'youtube#video',
"videoId": '_M9khs87xQ8'
}
}
}
youtube.playlistItems().insert(body=body, part='snippet').execute()