YouTube API v3: polubienie filmu w Pythonie

Muszę być w stanie „polubić” określony film przez ID za pomocą nowego YouTube API v3 dla uwierzytelnionego użytkownika. Śledzę przewodnik po działaniach / wstawkach tutaj:

https://developers.google.com/youtube/v3/docs/activities/insert

Ten przykładowy kod działa dobrze w przypadku publikowania biuletynu na moim kanale, ale gdy próbuję zmodyfikować ciało, aby utworzyć podobne oświadczenie, otrzymuję błąd 400. Oto, co zmieniłem z oryginalnego przykładu, w którym ustawiany jest dyktat ciała:

body = {}
body["snippet"] = dict(type='like')
body["contentDetails"] = dict(
    like=dict(
        resourceId=dict(
            kind="youtube#video",
            videoId='_M9khs87xQ8'
        )
    )
)

Zgodnie z następującą dokumentacją pola wydają się być poprawnie skonfigurowane.

https://developers.google.com/youtube/v3/docs/activities

Ale wciąż otrzymuję 400 HttpEror

<HttpError 400 when requesting https://www.googleapis.com/youtube/v3/activities?alt=json&part=snippet%2CcontentDetails returned "Bad Request">

Próbowałem również dostosować to ustawienie do ulubionej akcji wideo, ale uzyskuję ten sam rezultat. Czy brakuje niektórych wymaganych pól? Czy jest to właściwy punkt końcowy do tworzenia podobnej akcji?

Z góry dziękuję, Justin

Aktualizacja

Na ten problem odpowiedział Jeff, a rozwiązanie robocze zostało zamieszczone poniżej

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()

questionAnswers(1)

yourAnswerToTheQuestion