首页 > 解决方案 > 使用 Youtube 数据 API 的响应负载不正确

问题描述

我正在尝试使用 Youtube 的 Data API 来获取有关各种频道的一些信息,但是当我运行我的构建时:

youtube = build('youtube', 'v3',developerKey=api_key)


request = youtube.channels().list(
    part = "statistics",
    forUsername = "tonetalks"
)
response = request.execute()
print(response)

它返回这个:

{'kind': 'youtube#channelListResponse', 'etag': 'RuuXzTIr0OoDqI4S0RU6n4FqKEM', 'pageInfo': {'totalResults': 0, 'resultsPerPage': 5}}

任何想法如何解决这个问题?

标签: pythonyoutube-data-apigoogle-api-client

解决方案


forUsername是不正确的。如果你正在寻找这个“tonetalks”频道,你必须使用它的 id UCfP8rCe_fAITriqI3UPYF0Q(来自上面的频道 URL):

request = youtube.channels().list(
    part = "statistics",
    id = "UCfP8rCe_fAITriqI3UPYF0Q",
)
{
  "kind": "youtube#channelListResponse",
  "etag": "5gs56_i4Xd_fQ4A1OkQEnWWnX7A",
  "pageInfo": {
    "totalResults": 1,
    "resultsPerPage": 5
  },
  "items": [
    {
      "kind": "youtube#channel",
      "etag": "m7gogJwH4TshrBX4PCiuFP5MsJI",
      "id": "UCfP8rCe_fAITriqI3UPYF0Q",
      "statistics": {
        "viewCount": "6033544",
        "subscriberCount": "81200",
        "hiddenSubscriberCount": false,
        "videoCount": "229"
      }
    }
  ]
}

推荐阅读