我如何从 YouTube 获得频道 ID?

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

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

Https://www.googleapis.com/youtube/v3/channels ? 身份证 = fjTorCPnAblTngWAzpnlMA & 钥匙 = { YOUR _ API _ KEY } & part = 摘要、内容详细信息、统计数据

身份证表示通道 ID,而 钥匙表示在 Google API 控制台上生成的 API KEY,用于替换{ YOUR _ API _ KEY }。

我的频道 ID 不是:
- Klauskkpm
Klausmachado
- klausmachado@gmail.com
- fjTOrCPnAblTngWAzpnlMA < br/>

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

238583 次浏览

一个简单的答案是,你的 YouTube 频道 ID 是 加州大学 + { YOUR _ ACCOUNT _ ID }。 为了确认您的 YouTube 频道 ID 或 YouTube 帐户 ID,请访问设置页面的 高级设置

如果你想知道任何频道的 YouTube 频道 ID,你可以使用 解决方案@mjlescano 提供的。

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

如果这有任何帮助,一些用户标记它是在另一个主题 就在这儿中解决的。

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

UCjXfkj5iapKHJrhYfAF9ZGg将是您正在寻找的通道 ID。

您可以使用过滤器“ 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

Https://www.youtube.com/account_advanced 现在提供了通道和用户 id。

要获得频道 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 },你得到的时候登录,你可以使用这一个也没有要求以上的网址,你可以直接调用通道 api 与您的谷歌标识,只是前缀与 加州大学

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

该网站从其网址中找到一个 YouTube 频道 ID:

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

通过不带 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];
}

2017年更新: 亨利的回答可能有点离谱。如果您在源代码中查找 data-channel-external-id,您可能会发现不止一个 ID,并且只有 第一出现才是正确的。取代 <link rel="alternate" type="application/rss+xml" title="RSS" href="https://www.youtube.com/feeds/videos.xml?channel_id=<VALUE_HERE">中使用的 channel_id

如果你登录 YouYube 网站并选择“我的频道”,就可以很容易地获得当前 youtube 版本的频道 ID

My channel

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

在任何带有“ user”url (例如 http://www.youtube.com/user/klauskkpm)的频道页面上,如果没有 API 调用,从 YouTube UI,单击频道的视频(在其“ VIDEOS”选项卡中)并单击视频上的频道名称。然后您可以访问带有“ channel”url 的页面,例如 https://www.youtube.com/channel/UCfjTOrCPnAblTngWAzpnlMA

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

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

第二步: 点击视频下面的频道名称。

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

拿到频道 ID

例如: 苹果频道 ID

enter image description here

选择该频道中的任何视频

enter image description here

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

现在点击视频底部的频道名 苹果

enter image description here

现在您将在浏览器 URL 中获得通道 ID

enter image description here

这是苹果的通道 ID: UCE _ M8A5yxnLfW0KghEeajw

二零二一年六月版。

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

资料来源: 评论 by 丹尼尔2017。

选择: 在控制台中运行这个 JavaScript:

ytInitialData.metadata.channelMetadataRenderer.externalId

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

enter image description here

下面是“午夜指挥官”内部浏览器/编辑器的截图,它有 regexp 搜索:

enter image description here

截至2022年6月23日:

打开 Chrome 开发工具(F12) ,在源代码面板的“元素”选项卡中,根据 URL 类型:

类型的通道 URL: Www.youtube.com/c/ < channel _ name > :

搜索:

或在控制台中运行:

ytInitialData.metadata.channelMetadataRenderer.externalId

(来源: https://stackoverflow.com/a/68063136/624597)

对于类型为: Www.youtube.com/watch?v= < video _ ID > 的视频网址:

搜索:

  • “ foreign alId”-旁边是 Channel _ ID
  • “ foreign alChannelId”-旁边是 Channel _ ID
  • “ ownerProfileUrl”-旁边有: https://www.youtube.com/channel/ < Channel _ ID >

或在控制台中运行:

ytInitialPlayerResponse.microformat.playerMicroformatRenderer.externalChannelId

获取具有 ID 的通道 URL 的备选方案。

通过 CSS 选择器搜索频道主页源代码:

body > link[rel="canonical"]

或者通过控制台使用 JS:

document.querySelector('body > link[rel="canonical"]').href

另一种查找不属于您的频道 ID 的方法是转到频道页面并按下红色的“订阅”按钮。

enter image description here

然后使用 Chrome 的检查工具网络选项卡,查找订阅操作发出的 POST 请求。在此请求的有效负载中,您将找到通道 ID:

enter image description here

你可在订阅后立即取消订阅。

显然,在视频页面的源代码中有一个 channelId属性;

enter image description here