如何区分频道 ID 和 YouTube 用户名?

How to tell the difference between a channel ID and YouTube username?

我需要接受 Youtube 频道 ID 或 Youtube 用户名作为输入,并为其创建订阅按钮。

Google 刚刚更改了语法,因此如果它是频道 ID,则使用:

<div class="g-ytsubscribe" data-channelid="UC_x5XG1OV2P6uZZ5FSM9Ttw" data-layout="default" data-count="default"></div>

但是如果它是一个频道名称,您可以从属性中省略 idhttps://developers.google.com/youtube/youtube_subscribe_button

You must specify a value for one of the following two attributes: data-channel – The name of the channel associated with the button. Sample value: GoogleDevelopers. data-channelid – The channel ID associated with the button. Sample value: UC_x5XG1OV2P6uZZ5FSM9Ttw

有什么简单的方法可以判断它是频道 ID 还是用户名?

我看到的所有频道都以 UC 开头,但这似乎并不是确定的:YouTube channel and playlist ID prefixes

谁知道他们为什么这样做,但结果破坏了许多订阅按钮:(

只需根据上面的 link 检查频道的输入字段是否以 "UC_"、"HC_" 等开头。如果不是,那就是用户名。