【问题标题】:YouTube Data API V3: How to get the user id based on the channel name?YouTube Data API V3:如何根据频道名称获取用户 ID?
【发布时间】:2013-04-17 17:06:23
【问题描述】:

我想以编程方式用相应的用户 ID (UCWLptbzZ....) 替换虚名(如“thejntest”)。我在Channels-List 电话中找不到任何可能性

在stackoverflow上搜索here后,我找到了以下线程(Retrieve Youtube Channel info for "Vanity" channel),其中描述了Search-List调用的用法。尽管在 youtube 上搜索给定的用户名和 contenttype = "channel" 是个好主意,但我根本没有收到令人满意的结果。 (有时结果太多)

所以我想知道是否还有另一种可能根据用户名获取用户 ID?或者依赖搜索查询的第一个结果是否安全,或者通过仔细检查返回的用户名是否与给定的搜索查询相对应?

【问题讨论】:

    标签: youtube-api


    【解决方案1】:

    我知道答案是 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}
    

    【讨论】:

      【解决方案2】:

      我同意这似乎违反直觉,但我已通过 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。

      【讨论】:

      • 感谢马特指出这一点,但我有一个用例,其中提到的方法不起作用:请使用 "q" => "test" 和 "type" = 测试 developers.google.com/youtube/v3/docs/search/list > “频道” - 您将收到“motorvisiontest”作为第一个返回元素:/
      • 如果您重新检查 url 响应,它现在返回一个视频类型的项目,您知道这里发生了什么吗?
      • 不知道 - 我会提交错误报告,因为当前的响应是意外的。
      猜你喜欢
      • 2016-03-17
      • 2023-03-31
      • 2015-02-14
      • 2020-11-26
      • 2023-04-03
      • 1970-01-01
      • 2013-02-02
      • 1970-01-01
      • 2013-05-31
      相关资源
      最近更新 更多