我的问题与此非常相似,我想使用频道自定义名称获取频道 ID。
关于上述问题的答案是:
GET https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&q=annacavalli&type=channel&key={YOUR_API_KEY}
不适用于小通道,例如,当我使用此通道运行时:https://www.youtube.com/AnnaShearerfashionfettish 它什么也不返回。
这很容易,使用 curl
和 grep
.
命令
channel_name='DOVASYNDROMEYouTubeOfficial' #change this as you like
curl --silent "https://www.youtube.com/c/${channel_name}/videos" |
grep -o -P '(?<=canonical" href="https://www.youtube.com/channel/)[^"]*'
输出
UCq15_9MvmxT1r2-LLjtkokg
我没有找到直接的方法。我做了一个 GET 请求来获取频道页面 HTML 并解析它。
我使用 Jsoup 来解析 html 响应。
val doc = Jsoup.parseBodyFragment(body)
val links = doc.select("link[rel=canonical]")
val channelUrl = links.first().attributes().get("href")
你试过吗
https://www.googleapis.com/youtube/v3/channels?part=snippetforUsername={username}&key={your key}
请记住将{your key}
更改为您的 API 密钥,{username}
更改为所需的用户名。