Youtube API - 没有频道名称

Posted

技术标签:

【中文标题】Youtube API - 没有频道名称【英文标题】:Youtube API - no channel name 【发布时间】:2016-01-22 12:43:43 【问题描述】:

我正在尝试使用 Youtube 数据 API 检索我的 Youtube 频道名称,但我得到的是空项目。我的 Youtube 帐户中有一个频道,所以它应该返回一个。

这些是我输入的查询属性 -

part:'contentDetails', forUsername: 'Seong+Lee',

从他们的交互式documentation 页面获得以下响应。

200 OK
- SHOW HEADERS -

 "kind": "youtube#channelListResponse",
 "etag": "\"fpJ9onbY0Rl_LqYLG6rOCJ9h9N8/C3QZ-VsykvkpW2zCm7VjGBCayqc\"",
 "pageInfo": 
  "totalResults": 0,
  "resultsPerPage": 5
 ,
 "items": [
 ]

在我的应用程序中,我得到了相同的响应,所以我认为我的请求代码没有问题。为什么我无法获取频道名称?

【问题讨论】:

您的频道的链接是什么? @not_a_bot youtube.com/channel/UCwy6X3JB24VTsDFqMwdO5Jg 【参考方案1】:

您可以使用您的频道 ID 检索您的 contentDetails

GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id=UCwy6X3JB24VTsDFqMwdO5Jg&key=YOUR_API_KEY

您的用户名显然无效。

【讨论】:

【参考方案2】:

由于您的频道似乎没有旧版自定义网址,因此您无法使用 forUsername 参数。此参数仅适用于/user/channelname URL。在这种情况下,这意味着您必须使用您可以通过here 找到的频道 ID。

为了获得频道的显示名称,您需要 snippet 部分而不是 contentDetails。

https://www.googleapis.com/youtube/v3/channels?part=snippet&id=UCwy6X3JB24VTsDFqMwdO5Jg&key=YOUR_API_KEY

然后您将收到频道的显示名称snippet.title


    kind: "youtube#channelListResponse",
    etag: ""0KG1mRN7bm3nResDPKHQZpg5-do/L4uU6pmZJ1wQKdGUwnnigYpSEVo"",
    pageInfo: 
        totalResults: 1,
        resultsPerPage: 1
    ,
    items: [
    
        kind: "youtube#channel",
        etag: ""0KG1mRN7bm3nResDPKHQZpg5-do/GKVRHf7CLp-mUGFTR_3wbc5Lq-k"",
        id: "UCwy6X3JB24VTsDFqMwdO5Jg",
        snippet: 
            title: "Seong Lee",

...

【讨论】:

如何在获取播放列表详细信息之前接收用户 ID UCwy6X3JB24VTsDFqMwdO5Jg?【参考方案3】:

如果您使用 google 的 oauth2 对您的应用进行身份验证,那么您可以在您的请求中包含 mine 参数并将其设置为 true 以接收您自己的频道。查看common use cases here 了解更多信息。

另见this answer

【讨论】:

以上是关于Youtube API - 没有频道名称的主要内容,如果未能解决你的问题,请参考以下文章

如何使用他们的 API 获取 YouTube 中频道的 ID、名称和所有统计信息

YouTube API:如何通过频道名称获取频道 ID?

如何获得 Youtube 频道的订阅者数量?

如何使用 YouTube API 获取频道名称?

使用 YouTube API,如何从频道名称中获取直播的视频 ID?

YouTube API用于获取频道上的所有视频