如何检查 YouTube 上是否存在某个频道?

2024-04-07

如果我做一个curl请求此网址:

https://www.googleapis.com/youtube/v3/channels?part=snippet%2CcontentDetails%2Cstatistics&id=UC_x5XG1OVP6uZZ5FSM9Ttw&key=...

我将得到的输出为:

    {
      "kind": "youtube#channelListResponse",
      "etag": "J801W-IQ15sDpy3GjDfjlUgoVxA",
      "pageInfo": {
        "resultsPerPage": 0
      }
    }

这是否意味着 YouTube 频道不存在? 我没有收到任何错误;如何判断这是否是一个有效的频道?

同样,我想要给定频道的视频列表。如果我做一个curl使用此 URL 请求:

https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCIJIhBwx4XjNUtQGZTGSVnA&maxResults=20&order=date&key=[YOUR_API_KEY]

我将得到的输出为:

    {
      "kind": "youtube#searchListResponse",
      "etag": "q5r0QewUnrg2C7BdwuxbJxb9b8c",
      "regionCode": "IN",
      "pageInfo": {
        "totalResults": 0,
        "resultsPerPage": 20
      },
      "items": []
    }

这是一个有效的通道 ID,但我得到的是空结果,而不是错误;如何知道搜索是否有效?


问题号。 1

对于您的第一个问题:

给定一个频道 ID——$CHANNEL_ID--,测试相应通道是否存在。

我建议调用curl在以下网址上:

https://www.googleapis.com/youtube/v3/channels?part=id&fields=items/id&id=$CHANNEL_ID&key=$APP_KEY

请注意,调用Channels.list https://developers.google.com/youtube/v3/docs/channels/list通过上面的 URL 的端点——其中包含参数part=id and fields=items/id- 将返回only频道的 ID。

尽管没有明确记录,但测试表明您将从端点返回您传递给它的 ID,当且仅当该频道确实存在。

例如,如果您的频道 ID 是上面的 --UC_x5XG1OVP6uZZ5FSM9Ttw--,API 响应几乎是空的:

{}

因为这个频道不存在(只需点击这个link https://www.youtube.com/channel/UC_x5XG1OVP6uZZ5FSM9Ttw自己看看)。

另一方面,就 NBCNews 频道而言——UCeY0bbntWzzVIaj2z3QigXg-- 响应是:

{
  "items": [
    {
      "id": "UCeY0bbntWzzVIaj2z3QigXg"
    }
  ]
}

表明这个频道确实是活跃的。

问题号。 2

关于您帖子的第二个问题:

通过 ID 指定频道$CHANNEL_ID,请列出该频道的视频。

建议您咨询一下我最近对这个问题给出的答案 https://stackoverflow.com/a/63811627/8327971.

按照curl,您必须调用以下 URL:

https://www.googleapis.com/youtube/v3/channels?part=contentDetails&fields=items/contentDetails/relatedPlaylists/uploads&id=$CHANNEL_ID&key=$APP_KEY

用于获取该频道的上传播放列表ID。例如,对于 NBCNews 频道,API 响应为:

{
  "items": [
    {
      "contentDetails": {
        "relatedPlaylists": {
          "uploads": "UUeY0bbntWzzVIaj2z3QigXg"
        }
      }
    }
  ]
}

然后从 JSON 响应中取出该 ID,如下所示$PLAYLIST_ID并调用curl在以下网址上反复, 实现分页 https://developers.google.com/youtube/v3/guides/implementation/pagination:

https://www.googleapis.com/youtube/v3/playlistItems?part=id,snippet,contentDetails,status&maxResults=50&playlistId=$PLAYLIST_ID&key=$APP_KEY.

对于 NBCNews 的上传播放列表,第一页的输出看起来像:

{
  "kind": "youtube#playlistItemListResponse",
  "etag": "5DW9uT73DWmJtDoJ-rSw3AqHKpc",
  "nextPageToken": "CAUQAA",
  "items": [
    {
      "kind": "youtube#playlistItem",
      "etag": "_X3LvLIRvEBM3RetizOGtB03ja0",
      "id": "VVVlWTBiYm50V3p6VklhajJ6M1FpZ1hnLjE5NjU4N0NGQkY5M0M3MjI=",
      "snippet": {
        "publishedAt": "2020-09-12T06:11:59Z",
        "channelId": "UCeY0bbntWzzVIaj2z3QigXg",
        "title": "Watch NBC News NOW Live - September 11",
        "description": "NBC News NOW is live, reporting breaking news and ...",
        "thumbnails": {
          ...
        },
        "channelTitle": "NBC News",
        "playlistId": "UUeY0bbntWzzVIaj2z3QigXg",
        "position": 0,
        "resourceId": {
          "kind": "youtube#video",
          "videoId": "yXO2hQXC5Dw"
        }
      },
      "contentDetails": {
        "videoId": "yXO2hQXC5Dw",
        "videoPublishedAt": "2020-09-12T06:11:59Z"
      },
      "status": {
        "privacyStatus": "public"
      }
    },
    {
      "kind": "youtube#playlistItem",
      "etag": "PGyhZonOjiRzqHu7DKDPk6gcMTo",
      "id": "VVVlWTBiYm50V3p6VklhajJ6M1FpZ1hnLjY2RTJFNDA4MDA0NDREQTU=",
      "snippet": {
        "publishedAt": "2020-09-12T02:48:48Z",
        "channelId": "UCeY0bbntWzzVIaj2z3QigXg",
        "title": "Gaza Sees Spike In Coronavirus Cases, Severe Shortage Of Supplies | NBC News NOW",
        "description": "NBC News’ Kelly Cobiella reports on the surge in Gaza ...",
        "thumbnails": {
          ...
        },
        "channelTitle": "NBC News",
        "playlistId": "UUeY0bbntWzzVIaj2z3QigXg",
        "position": 1,
        "resourceId": {
          "kind": "youtube#video",
          "videoId": "I0lHV0ZVPAs"
        }
      },
      "contentDetails": {
        "videoId": "I0lHV0ZVPAs",
        "videoPublishedAt": "2020-09-12T02:48:48Z"
      },
      "status": {
        "privacyStatus": "public"
      }
    },
    ...
  ],
  "pageInfo": {
    "totalResults": 20000,
    "resultsPerPage": 50
  }
}

请注意该属性nextPageToken在上面的 JSON 响应文本中;该房产的价值——CAUQAA-- 必须作为参数传递给端点的第二次调用pageToken=CAUQAA添加到上面的初始 URL。

为了获得n-第页,您将提取以下值nextPageToken来自n-1-第页,用于将该值传递给n-th URL 为pageToken=....

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查 YouTube 上是否存在某个频道? 的相关文章

  • Laravel 集合 .each() + array_push

    需要有关 Laravel 上 each 方法内的 array push 的帮助 我无法在此代码上获取容器数组 imagesData array collect data images gt each function v k use ima
  • 在 Oracle 中使用触发器记录对表的更改

    我的一门课有一个项目 当我们的两个表发生更改时 我们需要创建一个日志 插入 更新 删除 我们需要使用Oracle触发器和PL SQL 在日志文件中 我们需要记录用户ID 日期时间 IP地址和事件 插入 更新 删除 我知道如何设置触发器 但我
  • 很好地阻止了齿轮工人

    我有许多 Gearman 工作人员不断运行 保存用户页面浏览记录等内容 偶尔 我会更新 Gearman 工作人员使用的 PHP 代码 为了让工作人员切换到新代码 我杀死并重新启动了工作人员的 PHP 进程 有什么更好的方法来做到这一点 据推
  • 使用 strtotime() 计算时间差(以小时和分钟为单位)[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions time1
  • 如何防止 CakePHP 中重复表单提交?

    我发现 CakePHP 中的安全组件通过将令牌作为隐藏值添加到表单中来帮助防止 CSRF 我想知道是否有办法防止使用此组件或其他组件 帮助器重复表单提交 在之前的项目中 我使用了保存在会话中的唯一哈希值 该哈希值会在提交时读取并删除 重复提
  • 根据数组计数填充复选框

    我是新来的php我已经使用了它的开发php array 我想填充checkboxes根据数组计数 为了做到这一点 我尝试了以下方式 它对我不起作用 有什么方法可以做到这一点 在我的例子中 数组计数 5 所以我相应地需要 5 个复选框
  • 有没有其他方法可以在delphi上观看youtube视频?

    我看到http www delphiflash com demo youtube video http www delphiflash com demo youtube video关于如何在 delphi 上加载 flash 视频 但它不是
  • 从twitter api实体参数php获取图像url

    我正在尝试通过实体参数使用 php 获取并显示在推文中发布的图像 我的 url 中有 include entities 可以看到返回的 json 中的实体 在我的 foreach 循环中 我正在执行以下操作 foreach results
  • 使用 PHP/COM/ADSI/LDAP 更改 AD 密码

    我已经被这个问题困扰了好几天了 我尝试了各种解决方案均无济于事 请帮忙 Problem 我们有两个域控制器 它们不属于我们的管理范围 我们能够通过端口 389 上的 LDAP 进行连接 但无法通过端口 636 安全连接 我们正在开发一个系统
  • Ubuntu 18.04升级后php7.2-curl无法安装

    今天从 16 04 升级到 18 04do release upgrade d 在升级过程中 我被告知一些软件包将被删除 其中包括 删除 libperl5 22 lxc common perl modules 5 22 php imagic
  • 通过 AJAX 发送 XML

    我在 jQuery 中创建了一个 xml 文档 如下所示 var xmlDocument
  • 如何从控制器访问 Zend Framework 应用程序的配置?

    我有一个基于 Zend 框架的应用程序快速开始 http framework zend com docs quickstart setup 我已经让演示工作起来 现在正在实例化一个新的模型类来完成一些实际工作 在我的控制器中 我想将配置参数
  • PHP mkdir() 和 fopen() 不起作用 - 权限问题? umask问题?

    以下 PHP 脚本无法创建目录 它也将无法创建文件 当目录已经存在时 ini set error reporting E ALL define ABSPATH SERVER DOCUMENT ROOT echo ABSPATH br br
  • 使用php将文本文件转换为xml?

    data txt ha15rs 250 home2 gif 2 ha36gs 150 home3 gif 1 ha27se 300 home4 gif 4 ha4678 200 home5 gif 5 我想使用 php 使用 simplex
  • 从数据库 MYSQL 和 Codeigniter 获取信息

    如果你们需要其他信息 上一个问题就在这里 从数据库中获取信息 https stackoverflow com questions 13336744 fetching information from the database 另一个更新 尽
  • PHP 时间间隔

    我正在寻找一个看起来应该非常简单的解决方案 但似乎我不能在这里找到任何好的答案 而且我自己似乎无法让它发挥作用 我正在寻找的是设置开始时间 结束时间 然后迭代给定时间间隔之间的一组时间 例如 上午 9 00 下午 5 00 是开始时间 这些
  • Laravel - 覆盖模型 ID

    我正在开发电子书管理系统 我使用 UUID 而不是自动递增整数主键 它工作得很好 protected static function boot parent boot static creating function model model
  • PHP 文件服务脚本:下载不可靠?

    这篇文章最初是关于 ServerFault 的一个问题 https serverfault com questions 131156 user receiving partial downloads https serverfault co
  • PHP简单的html dom解析器与wordpress冲突吗?

    PHP简单的html dom解析器与wordpress冲突吗 因为每当我尝试将其与此代码一起包含在我的标头中时 一切都变成空白 感谢您提前提供任何帮助 当我尝试在 HTML 文档中使用 PHP 包含时 我遇到了同样的问题 但当我使用func
  • 如何移动 Zend_Layout 的“视图”

    通常它会是这样的结构 application modules somemodule views scripts index index phtml 我如何将其移动到 application templates somemodule temp

随机推荐

  • 如何使用 knp 实验室可翻译学说行为访问翻译属性

    我正在使用可翻译的学说 并且我有一个具有可翻译属性的实体 这看起来像这样 class Scaleitem Must be defined for translating this entity use ORMBehaviors Transl
  • Ubuntu 中的 Eclipse:悬停背景颜色属性在哪里?

    我更改了悬停代码时可见的背景颜色 黑色 例如 当您将鼠标悬停在某个方法上时 您会在一个框中看到其签名 我的意思是那个盒子的背景颜色 我想更改它 但我在任何地方都找不到该属性 你知道它是什么财产吗 它应该是一个全球财产 因为其他框使用相同的背
  • 检查三个布尔值中是否至少有两个为 true

    最近一位面试官问了我这个问题 给定三个布尔变量 a b 和 c 如果三个中至少有两个为 true 则返回 true 我的解决方案如下 boolean atLeastTwo boolean a boolean b boolean c if a
  • Array.prototype.sort() 时间复杂度是多少?

    根据 Mozilla 文档 无法保证排序的时间复杂度和空间复杂度 取决于实施 至少可以安全地假设它不是O n 2 有没有关于它如何实施的更详细的数据 谢谢 火狐使用归并排序 https medium com nandodrw merge s
  • Magento Mage::getUrl 带后缀

    当 url 具有 html 后缀时 在 magento 中处理生成 url 的正确方法是什么 例如 获取以下产品 url 类别 产品 html 你不能简单地做Mage getUrl mycategory myproduct html or
  • 通过填充 UIImageView 图层边框宽度的颜色来动画进度

    我有 UIImageView 我把它做成了带有宽度层的圆形 如下图所示 用户可以更新图像并上传新图像 上传图像时我有一个进度回调 我想要的是在上传图像时用颜色对边框进行动画处理 例如 当用户单击上传时 边框从顶部开始为绿色 并根据进度填充宽
  • 自定义函数缺少参数 2

    因此 我尝试在保存更改后将原始的 post title 替换为同一篇文章右侧的自定义字段 但是 我在帖子页面上收到以下错误 警告 第 113 行 PATH public html wp content themes THEME functi
  • Chocolatey的正确使用(包更新/版本管理)

    注意 这个问题对于 Chocolatey 0 9 8 及以下版本有效 后来的版本从PowerShell脚本完全重写为C 应用程序 并且包管理的整个过程得到了很大的改进 我一直在使用巧克力味一段时间了 一开始我很兴奋 但过了一段时间我不确定它
  • 收到无效的 JSON 负载。未知名称 click_action

    所以我目前正在开发一个 PWA 我现在正在与推送通知我已经能够使用以下非常简单的 JSON 结构接收后台和前台通知 message token aValidToken notification title New Content body
  • 拦截MEF中的依赖关系

    是否可以在 MEF 处理依赖项请求之前拦截 MEF 中的依赖项请求 这对于实现装饰器和高级生命周期管理非常有用 就像是 catalogue AddInterceptor
  • 如何区分“消息”更新和“回调查询”更新? (电报机器人 API)

    抱歉 如果我的问题太混乱了 我是新来的 所以欢迎任何建议 如何区分 消息 更新和 回调查询 更新 我已经成功制作了一个内联键盘 但是当我使用它时 机器人只是挂起 他没有回复任何内容 我做了一些研究发现这个问题 https stackover
  • 错误:解析 XML 时出错:格式不正确(令牌无效)...?

    我正在开发一个具有以下 XML 的应用程序 但是当我尝试清理 构建我的项目时 会发生以下错误 错误 解析 XML 时出错 格式不正确 令牌无效
  • 检测控制台应用程序中的按键?

    我需要在控制台应用程序中检测按键 而不提示用户 基本上 我的应用程序通常是一个监听特殊输入设备的守护进程 但我需要在交互模式下使用键盘在开发盒上模拟它 我怎样才能做到这一点 我在 Linux 系统上 如果您在等待输入时无法阻塞 那么您可以使
  • 如何识别 Openoffice Calc 中两列中的重复值

    我有两列 其中有数字 当另一个人有重复的数字时 另一个人只拥有一次该数字 这些列中的数字不匹配 我需要找到 B 列中与 A 列中匹配的所有数字 这可能更好地解释了它 A B 1 2 2 2 4 5 6 5 7 6 8 6 我想得到这样的结果
  • 防止对 Web 应用程序的字典攻击

    防止字典攻击的最佳方法是什么 我已经想到了几种实现方式 但它们似乎都存在一些缺陷 X 次登录尝试失败后锁定用户 问题 很容易变成拒绝服务攻击 在短时间内锁定许多用户 逐渐增加用户名每次登录尝试失败的响应时间 问题 字典攻击可能使用相同的密码
  • 如何从指令获取角度视图层次结构?

    角度版本 6 我正在研究一个可以放置在任何元素上的指令 以用于一般使用日志记录 对于上下文 它看起来类似于以下内容 Directive selector log export class LogDirective Input log str
  • 替换 Woocommerce 3.4 中的 woocommerce_add_order_item_meta 挂钩

    我有自定义代码使用 woocommerce add order item meta 挂钩 但 woocommerce 3 4 0 显示错误日志 自版本 3 0 0 起 woocommerce add order item meta 已弃用
  • StoreKit 的 SKStoreProductViewController 在导航栏和视图之间留有空间?

    我有 UIViewController 的子类 它显示SKStoreProductViewController 该视图控制器最初是为 iOS 5 创建的 不使用自动布局 我的问题是 当SKStoreProductViewController
  • Phonegap:在 Android 中调整键盘显示上的 webview 大小

    我有一个类似的模态 有固定定位 Facebook 在最新的 Android 版本中对 Messenger 中的 feed chat 中的评论有何评论 我想要的看起来类似于 因此 当您专注于输入时 键盘会打开并缩小网络视图 默认情况下它不起作
  • 如何检查 YouTube 上是否存在某个频道?

    如果我做一个curl请求此网址 https www googleapis com youtube v3 channels part snippet 2CcontentDetails 2Cstatistics id UC x5XG1OVP6u