如何从YouTube获取频道ID?


90

我正在尝试使用YouTube数据API V3从我的频道中检索数据。
为此,我需要我的频道ID。
我试图从我的YouTube帐户中找到我的频道ID,但每一次失败。
如果有人对我有一个建议,我将非常高兴。

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

https://www.googleapis.com/youtube/v3/channelsid = fjTOrCPnAblTngWAzpnlMA&key = {YOUR_API_KEY}&part = snippet,contentDetails,statistics

ID是用于频道ID的,它是密钥,我将{YOUR_API_KEY}替换为在Google API控制台上生成的API KEY。

我的频道ID不是
:- klauskkpm
- klausmachado
- klausmachado@gmail.com
- fjTOrCPnAblTngWAzpnlMA

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

Answers:


172

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

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


2
@Naveed Ahmad作为此答案有帮助,不应使用view(在这种情况下为HTML),因为它不可靠。他们不会提供HTML版本化的内容,也不会给API提供访问权限。要获取任何YouTube频道ID,明智的方法是使用mjlescano答案,该答案使用YouTube API。
klauskpm

1
@klauskpm是的,因为您一直在寻找自己的ID,但是此答案可以让您获取任何通道ID,并且3年后仍会使用它:)
Yevgeniy

@Yevgeniy,如果您阅读上面的评论,我告诉您它会有所帮助,但是mijlescano的回答可以使用官方的API来提供(建议使用)。
klauskpm

13
您可能现在必须搜索“ externalId”,因为我找不到“ channel-external-id”的任何内容
Daniel

1
手动获取一堆YouTube频道ID之后,它看起来像是data-channel-external-id较旧的频道(特定日期之前创建的频道)和externalId较新的频道(特定日期之后创建的频道)。我不知道当这“特定日期”是的,但如果不为你工作-尝试另一种
derekantrican

73

一个简单的答案是,您的YouTube频道ID为UC + {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就不可能获得频道ID。那是对的吗?
mrub,2015年

帐户ID和渠道ID可以非常相似(使用UC部分)。就像我说过的那样,您可以进入YouTube帐户或频道的高级设置页面,它将显示两个ID。每个渠道/帐户都会创建新的渠道和帐户ID。因此,它们将永远存在。
klauskpm 2015年

抱歉,我不清楚。我的意思是实际上没有Google或youtube帐户。
mrub

是。如果您尝试获取自己的频道ID或帐户ID,并且您没有帐户或频道,则两者都不存在。不过,您可以从其他渠道获得此信息。上面有一个例子。
klauskpm 2015年



14

例如http://www.youtube.com/user/klauskkpm,从YouTube用户界面中,在没有使用API​​调用的情况下,在任何带有“用户” URL的频道页面上,单击该频道的视频(在其“视频”标签中),然后在视频上单击频道名称。然后,您可以使用其“频道” URL进入页面https://www.youtube.com/channel/UCfjTOrCPnAblTngWAzpnlMA


这应该引起更多关注。这样简单的解决方案。
约翰

9

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

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

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

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




2

2017年更新:亨利的答案在这里可能与预期不符。如果您data-channel-external-id在源代码中查找,则可能会发现多个ID,并且只有第一个出现是正确的。获取channel_id用于<link rel="alternate" type="application/rss+xml" title="RSS" href="https://www.youtube.com/feeds/videos.xml?channel_id=<VALUE_HERE">代替。


1

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

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

参数表示当前的授权用户

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

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


1

一种不用API就可以通过频道网址获取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];
}

你如何运行这个?
Stevoisiak

我在这里使用PHP
ArthurAraújo,

0

获取频道ID

例如:Apple频道编号

在此处输入图片说明

选择该频道中的任何视频

在此处输入图片说明

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

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

在此处输入图片说明

现在,您将在浏览器网址中获得频道ID

在此处输入图片说明

这是Apple频道ID:UCE_M8A5yxnLfW0KghEeajjw


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.