【问题标题】:YouTube API: detect that the video is age-restrictedYouTube API:检测视频是否有年龄限制
【发布时间】:2021-05-03 17:19:36
【问题描述】:

根据docs

contentDetails.contentRating.ytRating

YouTube 用来识别有年龄限制的内容的分级。

但这似乎不像记录的那样有效,下面是示例:https://www.youtube.com/watch?v=IUc0wyae-WI

API 响应:

{
  "items": [
    {
      "id": "U9x_WdDwATA",
      "contentDetails": {
        "contentRating": {},
      },
    }
  ]
}

请注意,contentRating.ytRating 未设置,这意味着视频根据 API 没有年龄限制。

但实际上并非如此:https://www.youtube.com/embed/IUc0wyae-WI?hl=en

此视频有年龄限制,只能在 YouTube 上观看。了解更多 在 YouTube 上观看

我的错误在哪里?还是 YouTube API v3 中的错误?

【问题讨论】:

  • 该视频在 YouTube 网站上播放良好。您可以尝试向 Google 报告此情况(通过其own issue tracker site);该公司的员工很可能对这个问题有更多的了解。
  • @LimonMonte:问题跟踪器:有问题吗?向我们发送错误报告! - 显示在end of the YouTube Data API webpage
  • 在这里报告issuetracker.google.com/issues/179172834 谢谢@MauricioAriasOlave
  • @Limon Monte:您在问题跟踪器上的帖子存在问题:according to the official specificationcontentDetails.contentRating.ytRating 属性的预期值不是 JSON 对象 {"ytAgeRestricted":true},而是JSON 字符串 "ytAgeRestricted" 代替。
  • 对,在issue里评论了,谢谢@stvar

标签: youtube youtube-api youtube-data-api


【解决方案1】:

尝试查找playabilityStatus:

查看详情: Use the YouTube API to check if a video is embeddable

这是长期存在的无证 API,所以探索它 给开发商。我知道“状态”(正常/失败)、“错误代码”(100 和 150 在我的实践中),“原因”(错误的字符串描述)。我是 以这种方式获取持续时间(“length_seconds”),因为 oEmbed 没有 提供这些信息(奇怪,但真实),我几乎无法激励 每个雇主都可以从 YouTube 获取密钥以使用官方 API

【讨论】:

【解决方案2】:

click here for complete guide on how to get age-restricted details

另外,你也可以尝试调用这个 api : https://www.youtube.com/youtubei/v1/player?key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8

我尝试在邮递员中调用此 api 并返回 json 数据,该数据具有一个字段,用于检查用户是否需要登录以观看有年龄限制的视频。

api_url : https://www.youtube.com/youtubei/v1/player?key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8 参数: "key":"$youtubevideoId" “方法”:POST “内容类型”:应用程序/json

【讨论】:

    猜你喜欢
    • 2012-10-08
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 2016-12-10
    • 2012-12-09
    • 2021-12-22
    相关资源
    最近更新 更多