我目前可以使用YouTube数据API v3获取视频的喜欢和不喜欢计数。您可以使用此工具进行现场演示并填写以下字段:
- 部分:统计
- id: pPRWdhPanDg
响应是:
{
"kind": "youtube#videoListResponse",
"etag": ""3bd49bOmAIO-xOEBT1-7BG40uHA/fpwF_APn7OSQWrMW_YeQrmSElIg"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [
{
"kind": "youtube#video",
"etag": ""3bd49bOmAIO-xOEBT1-7BG40uHA/ooZFGbFJOoCCq_lbYsU4p0T75lA"",
"id": "pPRWdhPanDg",
"statistics": {
"viewCount": "250",
"likeCount": "0", // There you have it
"dislikeCount": "0", // There you have it
"favoriteCount": "0",
"commentCount": "75"
}
}
]
}
数据正确,该视频没有评级。但问题是,我怎么知道该视频的评级实际上是被禁用的?我必须区分没有评级的情况和禁用评级的情况,因此用户无法评级。
AFAIK,获取此信息的功能尚未通过 v3 API 返回,尽管我相信这是他们的路线图。目前,可靠地执行此操作的唯一方法是:
A( 尝试使用视频>速率终结点对视频进行评级...如果允许评级,它将返回 200 请求(在这种情况下,您必须执行另一个调用才能删除评级(,如果评级被禁用,它将返回 403,错误"VideoRatingDisabled"作为响应正文。请注意,这可能是一个不希望的解决方案,因为它需要两次额外的调用,并且要求您使用 oAuth 令牌授权请求(即您必须让用户首先登录(。
B( 使用 v2 API 调用,直到信息移植到 v3 服务。您想要的源是 https://gdata.youtube.com/feeds/api/videos/PRWdhPanDg?v=2.1&alt=jsonc -- 查找要设置为 allowed
的 data.accessControl.rate 参数