当前位置: 首页 > 知识库问答 >
问题:

YouTube API 3 频道(按用户名和 ID 排列)不一致

孔宇
2023-03-14

为什么当我通过ID https://www.googleapis.com/youtube/v3/channels?搜索频道时part =内容详细信息

但当我按用户名搜索时,它会返回我刚才搜索的频道IDhttps://www.googleapis.com/youtube/v3/channels?part=contentDetails

共有2个答案

薛华容
2023-03-14

当我按用户名搜索时,它会返回我刚刚搜索的频道ID

您错过了通过搜索用户名频道ID的重要部分。这是代码段的一部分,而不是contentDetails

通过用户名:

 https://www.googleapis.com/youtube/v3/channels?&part=snippet,id&forUsername=RealMiBs&title&key={YOUR_API_KEY}

通过id通道:

https://www.googleapis.com/youtube/v3/channels?&part=snippet,id&id=UC_pwIXKXNm5KGhdEVzmY60A&title&key={YOUR_API_KEY}

这将完全返回如下所示:

{
 "kind": "youtube#channelListResponse",
 "etag": "\"uQc-MPTsstrHkQcRXL3IWLmeNsM/VnicD0AYsCI7KlKKcdsmdIlWUMs\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {
   "kind": "youtube#channel",
   "etag": "\"uQc-MPTsstrHkQcRXL3IWLmeNsM/Nl4tuuOFwuPOdHmP_Ky3vuIQ2Gg\"",
   "id": "UC_pwIXKXNm5KGhdEVzmY60A",
   "snippet": {
    "title": "CJENMMUSIC Official", <== Channel Name
    "description": "Asia's No.1 Entertainment & Media Company", <== Channel Desctiption
    "customUrl": "cjenmmusic", <=== Channel URL who has been qualified - to and for - claimed it
    "publishedAt": "2011-03-25T04:48:40.000Z",
    "thumbnails": {
     "default": {
      "url": "https://yt3.ggpht.com/-QMkGdFbhrOc/AAAAAAAAAAI/AAAAAAAAAAA/6boUKax-3EA/s88-c-k-no-mo-rj-c0xffffff/photo.jpg"
     },
     "medium": {
      "url": "https://yt3.ggpht.com/-QMkGdFbhrOc/AAAAAAAAAAI/AAAAAAAAAAA/6boUKax-3EA/s240-c-k-no-mo-rj-c0xffffff/photo.jpg"
     },
     "high": {
      "url": "https://yt3.ggpht.com/-QMkGdFbhrOc/AAAAAAAAAAI/AAAAAAAAAAA/6boUKax-3EA/s240-c-k-no-mo-rj-c0xffffff/photo.jpg"
     }
    },
    "localized": {
     "title": "CJENMMUSIC Official",
     "description": "Asia's No.1 Entertainment & Media Company"
    }
   }
  }
 ]
}

如果只指向contentDetails,它将返回几乎为零:

{
 "kind": "youtube#channelListResponse",
 "etag": "\"uQc-MPTsstrHkQcRXL3IWLmeNsM/C7SnOhT2c-Fs2R9f6JlxlOPWc34\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {
   "kind": "youtube#channel",
   "etag": "\"uQc-MPTsstrHkQcRXL3IWLmeNsM/3RTKaEQC9GX8c58R2Bhd8G1y3zM\"",
   "id": "UC_pwIXKXNm5KGhdEVzmY60A",
   "contentDetails": { <============== detail contents
    "relatedPlaylists": {
     "uploads": "UU_pwIXKXNm5KGhdEVzmY60A",
     "watchHistory": "HL",
     "watchLater": "WL"
    }
   }
  }
 ]
}
鲁洋
2023-03-14

当我按ID搜索频道时..我没有收到退货。

尝试一下channels.list的尝试部分。我可以使用以下参数获取JSON响应:

 part->contentDetails
 id-> yourchannel ID

Authorize and Execute

它返回的响应一点也不空。

{
 "kind": "youtube#channelListResponse",
 "etag": "\"I_8xdZu766_FSaexEaDXTIfEWc0/FiuYcDu7WFmoFVcLDRvENYGl_tQ\"",
 "pageInfo": {
  "totalResults": 1,
  "resultsPerPage": 1
 },
 "items": [
  {

   "kind": "youtube#channel",
   "etag": "\"I_8xdZu766_FSaexEaDXTIfEWc0/QjMybH99xT3x-znrh2Yerx_0DWk\"",
   "id": "{my channel id}",
   "snippet": {
    "title": "{my channel name}",
    "description": "",
    "publishedAt": "2011-10-10T15:30:40.000Z",
    "thumbnails": {
     "default": {
      "url": "https://yt3.ggpht.com/-EN5H1HDHqIU/ABCDEFGHIJK/ABCDEFGHIJK/l2gqeYg94P8/s88-c-k-no-mo-rj-c0xffffff/photo.jpg"
     },
     "medium": {
      "url": "https://yt3.ggpht.com/-EN5H1HDHqIU/ABCDEFGHIJK/ABCDEFGHIJK/l2gqeYg94P8/s240-c-k-no-mo-rj-c0xffffff/photo.jpg"
     },
     "high": {
      "url": "https://yt3.ggpht.com/-EN5H1HDHqIU/ABCDEFGHIJK/ABCDEFGHIJK/l2gqeYg94P8/s240-c-k-no-mo-rj-c0xffffff/photo.jpg"
     }
    },
    "localized": {
     "title": "{my channel name}",
     "description": ""
    }
   }
  }
 ]
}

这对我来说是很多结果。

但是当我按userName搜索时,它会返回我刚刚搜索的频道ID。

在上面的channels.list try-it文档中,< code>forUsername被定义为< code>forUsername参数指定YouTube用户名,从而请求与该用户名相关联的频道。所以我认为它在做它的工作。

关于< code>forUsername参数的附加说明是,它用于使用API的v3将您的任意传统Youtube用户名(即旧的YouTube帐户)转换为频道ID。更多信息请参阅《使用频道id》指南。

 类似资料:
  • 获取频道验证方式 GET /actauth/api/get_method?actid=[:hashid] URL参数 参数 描述 类型 actid 频道HashID string 返回 参数 取值 描述 errcode int 错误代码 method string 验证方式 验证方式 NONE: 无限制 PASSWORD: 验证码观看 PHONEWHITE: 手机白名单观看 USERWHITELI

  • 问题内容: Python中有什么方法可以按频率对列表进行排序? 例如, 上面的列表将按照其值的频率顺序进行排序,以创建以下列表,其中频率最高的项目位于最前面: 问题答案: 我认为这对于A来说将是一项好工作: 或者,您可以写第二行而不使用lambda: 如果您有多个具有相同频率的元素 并且 您希望这些元素保持分组状态,那么我们可以通过更改排序键以不仅包括计数,还包括 值 来做到这一点:

  • 我的问题与此问题非常相似,我想使用频道自定义名称获取频道ID。 上述问题的答案是: 不适用于小通道,例如。当我用这个通道运行它时:https://www.youtube.com/AnnaShearerfashionfettish它什么也不返回。

  • 这是一个YouTube频道URL,用户名中包含西里尔字符: https://www.youtube.com/c/ Лучшиедокументальныефильмы/视频 我试图通过调用YouTube数据API v3从URL获取频道的id: 但是调用不返回数据。 作为参考,“https://www . YouTube . com/c/besogontv/videos”返回一个有效结果: 只是为了

  • 我刚开始和内蒂一起工作。我已经有了一个服务器,我正在为一个客户端写代码。 在客户端,我用下面的代码为ClientBootstrap对象设置了一个新的PipelineFactory 其中ResponseHandler()是我扩展SimpleChannelHandler的类。 我想找到频道ID。我做到了。 但它会抛出IllelgalStateException并表示我无法调用getPipeline()

  • 问题内容: 我只是想按ID对评论进行排序,但是这样做并不幸运。无法弄清楚该怎么办,因为这使我感到困惑: 你们碰巧知道我如何通过DESC中的ID来订购评论吗?谢谢! 问题答案: 首先,您要进行两次相同的操作。这是不必要的,因为您可以计算行数并从单个查询中获取数据。除此之外,用注释表的唯一ID替换您,即可设置好。替换为以颠倒排序顺序。