首页 > 解决方案 > 如何将 YouTube 频道 URL 转换为频道 ID?

问题描述

我正在构建一个应用程序,用户在其中提供指向 YouTube 频道的 URL,并且使用此输入,我需要将 URL 转换为 YouTube 频道 ID(例如:)UCUZHFZ9jIKrLroW8LcyJEQQ。YouTube 数据 API 文档似乎缺少将自定义 URL 和缩短 URL 转换为频道 ID 的说明。

YouTube 频道的 URL 有 4 种变体:

  1. https://www.youtube.com/channel/UCUZHFZ9jIKrLroW8LcyJEQQ(基于 ID 的 URL)
  2. https://www.youtube.com/user/partnersupport(旧用户名 URL)
  3. https://www.youtube.com/c/YouTubeCreators (自定义网址)
  4. https://www.youtube.com/YouTubeCreators(缩短的 URL,自定义 URL 或旧用户名 URL)

基于 ID 的 URL

“这是 YouTube 频道使用的标准 URL。它使用您唯一的频道 ID,即 URL 末尾的数字和字母。”

Channel ID is in the URL
https://www.youtube.com/channel/<channel_id>

旧版用户名 URL

可以使用 YouTube Data API v3 将用户名转换为频道 ID

https://www.youtube.com/user/<user>

Channel ID returned with API response from:
https://www.googleapis.com/youtube/v3/channels?part=id&forUsername=<user>"&key=<API key>

自定义网址

我找不到任何有关将此 URL 变体转换为频道 ID 的官方文档。目前,我正在使用 YouTube 数据 API 来搜索该<custom URL>值。这种方法不是 100% 可靠的。

https://www.youtube.com/c/<custom URL>

This API query performs a search, can return multiple channels, and the correct channel 
may not be in the results.
https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&q=<custom URL>&type=channel&key=<API key>

缩短的网址

此 URL 变体可以引用自定义 URL 或旧用户名 URL。我目前没有可靠地转换此变体的方法。

https://www.youtube.com/<custom URL | User>

问题:

  1. 将自定义 URL转换为频道 ID的最可靠方法是什么?
  2. 将缩短的 URL转换为频道 ID的最可靠方法是什么?

注意:我对抓取 URL 以查找频道 ID 不感兴趣,因为这违反了 YouTube 的服务条款。在规模上,这可能会导致 IP 地址被列入与 YouTube/Google 服务交互的黑名单。

参考:https ://support.google.com/youtube/answer/6180214?hl=en

标签: youtubeyoutube-apiyoutube-data-api

解决方案


推荐阅读