Youtube API - 没有频道名称

Youtube API - no channel name

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

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

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

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

200 OK
- SHOW HEADERS -
{
 "kind": "youtube#channelListResponse",
 "etag": "\"fpJ9onbY0Rl_LqYLG6rOCJ9h9N8/C3QZ-VsykvkpW2zCm7VjGBCayqc\"",
 "pageInfo": {
  "totalResults": 0,
  "resultsPerPage": 5
 },
 "items": [
 ]
}

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

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

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

您的用户名显然无效。

您的频道似乎没有旧版自定义 URL,您无法使用 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",

...

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

另见