我想用相应的用户id (UCWLptbzZ....)以编程方式替换虚荣名称(如"thejntest")。我在Channels-List调用
中找不到任何可能性在stackoverflow上搜索后,我发现了以下线程(检索Youtube频道信息为"虚荣";通道),其中描述了Search-List调用的用法。虽然在youtube上搜索给定用户名和contenttype = "channel"是个好主意,但我根本没有得到令人满意的结果。(有时结果太多)
所以我想知道是否有另一种可能性获得基于用户名的用户id ?或者依赖搜索查询的第一个结果,或者通过双重检查返回的用户名是否与给定的搜索查询相对应,这是安全的吗?
我知道答案是1年后,但在youtube API的V3中,您可以使用频道id(参数id
)或用户名(参数forUsername
)调用
用户名示例:
https://www.googleapis.com/youtube/v3/channels?part=id%2Csnippet%2Cstatistics%2CcontentDetails%2CtopicDetails&forUsername=KarlWolfVEVO&key={YOUR_API_KEY}
通道id示例:
https://www.googleapis.com/youtube/v3/channels?part=id%2Csnippet%2Cstatistics%2CcontentDetails%2CtopicDetails&id=UC8FAXi_Vb4kDocI1UrH_sKQ&key={YOUR_API_KEY}
我同意这似乎违反直觉,但Youtube开发人员关系团队向我保证,对于给定的频道名称,搜索方法的第一个结果将始终返回正确的频道项(和id)。
确保您在搜索中保持type = "channel",并且您可以通过在调用中包含"maxResults=1"来限制结果集为1。
例如:
https://www.googleapis.com/youtube/v3/search?part=id%2Csnippet&maxResults=1&q=thejntest&type=channel&key={YOUR_API_KEY}
的回报:
{
"kind": "youtube#searchListResponse",
"etag": ""4IfXb8Dc78bqDKapqHxgOpqGpzM/lKqCVcHLORctmp6mp9sgSil_W0w"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [
{
"kind": "youtube#searchResult",
"etag": ""4IfXb8Dc78bqDKapqHxgOpqGpzM/UoEAOMl45xX5SIWjDGxyS-74WKE"",
"id": {
"kind": "youtube#channel",
"channelId": "UCWLptbzZMaxQ7doUzgjMg_A"
},
"snippet": {
"publishedAt": "2013-04-23T08:28:54.000Z",
"channelId": "UCWLptbzZMaxQ7doUzgjMg_A",
"title": "TheJNtest",
"description": "What a wonderful testing world it is!",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/i/WLptbzZMaxQ7doUzgjMg_A/1.jpg"
},
"medium": {
"url": "https://i.ytimg.com/i/WLptbzZMaxQ7doUzgjMg_A/mq1.jpg"
},
"high": {
"url": "https://i.ytimg.com/i/WLptbzZMaxQ7doUzgjMg_A/hq1.jpg"
}
},
"channelTitle": "TheJNtest"
}
}
]
}
其中"UCWLptbzZMaxQ7doUzgjMg_A"是您的频道id。