【问题标题】:Youtube API - no channel nameYoutube API - 没有频道名称
【发布时间】: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": [
 ]
}

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

【问题讨论】:

标签: youtube google-api youtube-api youtube-data-api


【解决方案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

    【讨论】:

      猜你喜欢
      • 2016-03-12
      • 2020-11-26
      • 2014-10-13
      • 2018-10-28
      • 2013-10-27
      • 2014-11-17
      • 2023-04-03
      • 1970-01-01
      • 2017-04-10
      相关资源
      最近更新 更多