如何使用频道自定义名称获取youtube频道ID?

时间:2017-11-03 12:50:28

标签: youtube-api youtube-data-api

我的问题与此one非常相似, 我想使用频道自定义名称来获取频道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它什么都不返回。

3 个答案:

答案 0 :(得分:1)

你试过吗

https://www.googleapis.com/youtube/v3/channels?part=snippetforUsername={username}&key={your key}

请务必将{your key}更改为您的API密钥,并{username}更改为所需的用户名。

答案 1 :(得分:1)

使用curlgrep非常简单。

命令

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

答案 2 :(得分:0)

我没有找到直接的方法来做到这一点。我做了一个GET请求来获取频道页面HTML并解析它。

我使用Jsoup来解析html响应。

val doc = Jsoup.parseBodyFragment(body)
val links = doc.select("link[rel=canonical]")
val channelUrl = links.first().attributes().get("href")