YouTube Data API V3:如何根据频道名获取用户id



我想用相应的用户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。

相关内容

  • 没有找到相关文章