从Youtube自定义网址获取ChannelID

时间:2017-09-25 13:50:09

标签: javascript youtube-data-api

有没有办法通过自定义网址(使用Youtube API)获取Youtube频道的频道ID?

示例:

自定义网址如下:

  

https://www.youtube.com/onepiece

我想得到它的channelID,所以我有这样的链接:

  

www.youtube.com/user/OnePieceUK

2 个答案:

答案 0 :(得分:0)

我最近有一个类似的要求,我知道一个 youtube 频道的自定义 URL,我想获取频道 ID。所以我去了 YouTube 频道并点击了一个随机视频,从网络浏览器 url 中获取视频 ID。获得视频 ID 后,我使用“视频:列表”API 获取视频详细信息:

https://youtube.googleapis.com/youtube/v3/videos?part=snippet&id=[VEDIO_ID]&key=[YOUR_API_KEY]

重新调整的数据包含有关视频的所有元数据信息,包括 ChannelId :-)。

这可能不是最聪明、最优雅的做事方式,但它解决了我的目的。

答案 1 :(得分:0)

详细说明 this answer of mine,我将在此说明以下事实:

  1. https://www.youtube.com/c/NAMEhttps://www.youtube.com/NAME 形式的 YouTube 网址中,NAME 是频道的 custom URL。 (请参阅来自 Google 支持的 this official account。)

  2. https://www.youtube.com/user/NAME 形式的 YouTube 网址中,NAME 是频道的用户名。用户名是 API v3 的遗留特性;不是每个频道都有一个附加的;没有通道需要有一个连接。 (参见 2013 年 7 月 11 日来自 Google 员工的 this official statement。)

这两个 API 概念——自定义 URL用户名——包含两个不同的类别。

我上面引用的答案所引用的公共(MIT 许可)Python 3 脚本 youtube-search.py 能够搜索 API 以获取自定义 URL 并分别查询 API 以获取用户名:

$ python3 youtube-search.py --custom-url onepiece
UC6LPb3zSebrzU_0Yclpwb4Q

$ python3 youtube-search.py --user-name OnePieceUK
UC6LPb3zSebrzU_0Yclpwb4Q

请注意,youtube-search.py 需要将有效的 API 密钥作为命令行选项 --app-key 的参数传递给它,否则,作为环境变量 YOUTUBE_DATA_APP_KEY 传递。 (使用命令行选项 --help 获取简要帮助信息。)