YouTube的API第3版:点击喜欢Python中的视频(YouTube API v3: Liki

2019-08-02 23:21发布

我需要能够“喜欢”通过新的YouTube API V3特定的视频通过ID身份验证的用户。 我下面/插入导发现这里的活动:

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

这个示例代码运行罚款发布公告,以我的频道,但是当我尝试修改身体形成一个类似的语句,我不断收到一个400错误。 以下是香港专业教育学院从最初的例子在身体字典是设置改变:

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

Answer 1:

“喜欢”在V3的视频,你需要把它添加到特定的播放列表ID。 (你也可以读取该播放列表中得到的,你以前已经“喜欢” d视频列表。)

适当的呼叫作出是playlistItems.insert()即,POST到https://www.googleapis.com/youtube/v3/playlistItems )用下面的请求体:

"body": {
  "snippet": {
    "playlistId": LIKED_LIST_ID,
    "resourceId": {
      "kind": "youtube#video",
      "videoId": VIDEO_ID
    }
  }
}

这两件事插上有LIKED_LIST_IDVIDEO_IDVIDEO_ID应该有希望是不言自明。 LIKED_LIST_ID对应播放列表ID作出channels.list(部分= contentDetails)的要求,当你回来。 响应看起来像

"contentDetails": {
  "relatedPlaylists": {
    "likes": "LL0c49w3rVoFjTkQVbyRs8Sg",
    "favorites": "FL0c49w3rVoFjTkQVbyRs8Sg",
    "uploads": "UU0c49w3rVoFjTkQVbyRs8Sg",
    "watchHistory": "HL0c49w3rVoFjTkQVbyRs8Sg",
    "watchLater": "WL0c49w3rVoFjTkQVbyRs8Sg"
  }
}

你可以在一些与其他播放列表ID的插上,例如,添加视频为收藏或添加到稍后观看列表帐户。 该代码是相同的,为“喜欢”荷兰国际集团的视频编码。



文章来源: YouTube API v3: Liking a video in Python