【问题标题】:How can I get a channel ID from YouTube?如何从 YouTube 获取频道 ID?
【发布时间】:2012-12-31 06:11:53
【问题描述】:

我正在尝试使用 YouTube Data API V3 从我的频道中检索数据。
为此,我需要我的频道 ID。
我试图从我的 YouTube 帐户中找到我的频道 ID,但都失败了。
如果有人给我一个小费,我会非常高兴。

这是我用来检索数据的 URL:

https://www.googleapis.com/youtube/v3/channels?id=fjTOrCPnAblTngWAzpnlMA&key={YOUR_API_KEY}&part=sn-p,contentDetails,statistics

ID 是频道 ID,而 key,我将用我在 Google API 控制台生成的 API KEY 替换 {YOUR_API_KEY}。 p>

我的频道 ID 不是:
- klauskkpm
- 克劳斯马查多
- klausmachado@gmail.com
- fjTOrCPnAblTngWAzpnlMA

我的频道是:http://www.youtube.com/user/klauskkpm

【问题讨论】:

    标签: youtube youtube-api


    【解决方案1】:

    尝试在源代码中搜索正则表达式UC[-_0-9A-Za-z]{21}[AQgw]。即使频道在 URL 中包含非 ASCII 字符,也会显示此 ID:

    这是 Midnight Commander 的内部查看器/编辑器的屏幕截图,它有正则表达式搜索:

    【讨论】:

      【解决方案2】:

      2021 年 6 月版。

      1. 右键单击并查看页面源代码。
      2. 搜索"externalId",值如下。

      来源:comment Daniel 2017。

      替代方案:在控制台中运行此 JavaScript:

      ytInitialData.metadata.channelMetadataRenderer.externalId
      

      【讨论】:

        【解决方案3】:

        一种替代方法,无需 API 即可通过频道 url 获取 youtube 频道 ID:

        function get_youtube_channel_ID($url){
          $html = file_get_contents($url);
          preg_match("'<meta itemprop=\"channelId\" content=\"(.*?)\"'si", $html, $match);
          if($match && $match[1])
            return $match[1];
        }
        

        【讨论】:

        • 你如何运行这个?
        • 我在这里使用 PHP
        • 删除“;”在 if 语句之后。
        【解决方案4】:

        此网站从其 URL 中找到一个 YouTube 频道 ID:

        https://commentpicker.com/youtube-channel-id.php

        【讨论】:

        • 不适用于带有变音符号的频道 URL。
        • @Bobík 您是否找到任何解决方法来处理带有变音符号的频道 URL?
        【解决方案5】:

        一个简单的答案是,您的 YouTube 频道 ID 是 UC + {YOUR_ACCOUNT_ID}。 要确定您的 YouTube 频道 ID 或 YouTube 帐户 ID,请通过您的 settings page 访问 advanced settings

        如果您想知道任何频道的 YouTube 频道 ID,可以使用 solution @mjlescano 提供的。

        https://www.googleapis.com/youtube/v3/channels?key={YOUR_API_KEY}&forUsername={USER_NAME}&part=id
        

        如果这可能有任何帮助,一些用户标记它已在另一个主题 right here 中解决。

        【讨论】:

        • 我认为没有帐户 ID 就无法获得频道 ID。对吗?
        • 账户ID和频道ID可以非常相似,占UC部分。正如我所说,您可以进入您的 youtube 帐户或频道的高级设置页面,它会显示两个 ID。每个频道/帐户都会创建新频道和帐户 ID。因此,它们将永远存在。
        • 对不起,我有点不清楚。我的意思是实际上没有 google 或 youtube 帐户。
        • 是的。如果您尝试获取您的频道 ID 或帐户 ID,而您没有帐户或频道,则两者都将不存在。不过,您可以从其他渠道获取此信息。上面有一个例子。
        【解决方案6】:

        获取频道ID

        例如:Apple 频道 ID

        选择该频道中的任何视频

        选择 iPhone - 分享照片(视频)

        现在点击视频底部的频道名称Apple

        现在您将在浏览器 url 中获得频道 ID

        这是 Apple 频道 ID:UCE_M8A5yxnLfW0KghEeajjw

        【讨论】:

          【解决方案7】:

          我刚刚找到了查找任何 YouTube 频道的频道 ID 的最简单方法!

          第 1 步:播放该频道的视频。

          第 2 步:点击该视频下的频道名称。

          第 3 步:查看浏览器地址栏。

          【讨论】:

          • 像魅力一样工作! :)
          【解决方案8】:

          在任何带有“用户”网址的频道页面上,例如 http://www.youtube.com/user/klauskkpm,无需 API 调用,从 YouTube 用户界面单击频道的视频(在其“视频”标签中),然后单击视频上的频道名称。然后您可以使用其“频道”网址访问该页面,例如https://www.youtube.com/channel/UCfjTOrCPnAblTngWAzpnlMA

          【讨论】:

          • 这应该得到更多的关注。如此简单的解决方案。
          【解决方案9】:

          要获取频道ID,您可以查看频道页面的源代码并找到data-channel-external-id="UCjXfkj5iapKHJrhYfAF9ZGg""externalId":"UCjXfkj5iapKHJrhYfAF9ZGg"

          UCjXfkj5iapKHJrhYfAF9ZGg 将是您要查找的频道 ID。

          【讨论】:

          • @Naveed Ahmad 因为这个答案有帮助,所以不应使用视图(在本例中为 HTML),因为它不可靠。无论如何,他们不提供 HTML 版本或提供 API 访问权限。要获取任何 YouTube 频道 ID,最好使用 mjlescano 答案,它使用 YouTube API。
          • @klauskpm true,因为您正在寻找自己的 id,但这个答案会为您提供任何频道 ID,并且在 3 年后仍然会这样做:)
          • @Yevgeniy,如果您阅读了我上面的评论,我告诉您它会有所帮助,但 mijlescano 答案可以使用官方 API 提供,这是推荐的。
          • 您现在可能需要搜索“externalId”,因为我找不到“channel-external-id”的任何内容
          • 在手动获取一堆 YouTube 频道 ID 后,data-channel-external-id 似乎适用于较旧的频道(在特定日期之前创建的频道),externalId 是对于较新的频道(在特定日期之后创建的频道)。我不确定这个“特定日期”是什么时候,但如果一个不适合你 - 试试另一个
          【解决方案10】:

          如果您登录优游网站并选择“我的频道”,很容易获得当前 youtube 版本的频道 ID

          您的频道 ID 将显示在浏览器的地址栏上

          【讨论】:

            【解决方案11】:

            2017 年更新:Henry's answer 在这里可能有点离题。如果您在源代码中查找data-channel-external-id,您可能会发现多个 ID,并且只有 first 出现实际上是正确的。取而代之的是 &lt;link rel="alternate" type="application/rss+xml" title="RSS" href="https://www.youtube.com/feeds/videos.xml?channel_id=&lt;VALUE_HERE"&gt; 中使用的 channel_id

            【讨论】:

              【解决方案12】:

              要获取频道 ID,您可以执行以下请求,该请求会为您提供频道 ID 和播放列表 ID。

              https://www.googleapis.com/youtube/v3/channels?part=contentDetails%2C+statistics%2Csnippet&mine=true&key={YOUR_API_KEY}

              mine参数表示当前授权用户

              正如您所说,频道 ID 以您在登录时获得的 UC+{您的帐户 ID} 为前缀,您也可以使用此 ID,而无需请求上述网址,您可以使用您的直接调用频道 api google id 并以 UC

              为前缀

              https://www.googleapis.com/youtube/v3/channels?part=contentDetails%2C+statistics%2Csnippet&id=UC{您的帐户 id}&key={YOUR_API_KEY}

              【讨论】:

                【解决方案13】:
                【解决方案14】:

                您可以使用过滤器“forUsername”获取带有用户名(在您的情况下为“klauskkpm”)的频道 ID,如下所示:

                https://www.googleapis.com/youtube/v3/channels?key={YOUR_API_KEY}&forUsername=klauskkpm&part=id
                

                更多信息在这里:https://developers.google.com/youtube/v3/docs/channels/list

                【讨论】:

                  猜你喜欢
                  • 2019-12-07
                  • 2011-09-13
                  • 2020-01-19
                  • 1970-01-01
                  • 1970-01-01
                  • 2016-06-19
                  • 1970-01-01
                  • 2016-05-13
                  • 2014-07-19
                  相关资源
                  最近更新 更多