如何将 YouTube 频道 URL 转换为频道 ID?

时间:2021-03-18 15:54:58

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

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

YouTube 频道的网址有 4 种变体:

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

基于 ID 的 URL

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

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

旧用户名网址

可以使用 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>

缩短网址

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

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

问题:

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

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

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

0 个答案:

没有答案