API de YouTube v3: Me gusta un video en Python

Necesito poder "gustar" un video específico por ID a través de la nueva API de YouTube v3 para un usuario autenticado. Estoy siguiendo las actividades / insertar guía que se encuentra aquí:

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

Este código de ejemplo funciona bien para publicar un boletín en mi canal, pero cuando trato de modificar el cuerpo para formar una declaración similar, sigo recibiendo un error 400. Esto es lo que he cambiado del ejemplo original donde se configura el dictado del cuerpo:

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

De acuerdo con la siguiente documentación, los campos parecen estar configurados correctamente.

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

Pero sigo recibiendo un 400 HttpEror como tal

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

También he intentado adaptar esto a una acción de video favorita pero obtengo el mismo resultado. ¿Me faltan algunos de los campos requeridos? ¿Es este el punto final correcto para crear una acción similar?

Gracias de antemano, Justin

Actualizar

Jeff ha respondido a este problema y la solución de trabajo se publica a continuación.

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta