YouTube API - 没有为用户名的查询返回频道品牌设置

时间:2014-03-05 07:07:12

标签: youtube youtube-api

使用YouTube API v3查询频道的品牌设置时,为什么会按频道ID返回查询,但不会按用户名查询? API不会按用户名返回频道列表查询的品牌设置。

如果您按频道ID(例如id=UC8-Th83bH_thdKZDJCrn88g)查询频道的品牌设置,则会返回一整套品牌设置:

Google API Explorer:https://developers.google.com/youtube/v3/docs/channels/list

请求

GET https://www.googleapis.com/youtube/v3/channels?part=brandingSettings&id=UC8-Th83bH_thdKZDJCrn88g&key={YOUR_API_KEY}

响应

{
    // ... snip ...
    "items": [
    {
        "kind": "youtube#channel",
        "etag": "\"...\"",
        "id": "UC8-Th83bH_thdKZDJCrn88g",
        "brandingSettings": {
            "channel": {
                "title": "The Tonight Show Starring Jimmy Fallon",
                "description": "Watch The Tonight Show Starring Jimmy Fallon Weeknights 11:35/10:35c\n\nThe Tonight Show Starring Jimmy Fallon features hilarious highlights from the show including: comedy sketches, music parodies, celebrity interviews, ridiculous games, and, of course, Jimmy's Thank You Notes and hashtags! You'll also find behind the scenes videos and other great web exclusives.",
                // all the branding settings are here
            }
        }
    }]
}

另一方面,如果您为用户名(例如forUsername=latenight)发送频道列表查询,则根本没有品牌设置。不会返回或填充品牌设置。

请求

GET https://www.googleapis.com/youtube/v3/channels?part=brandingSettings&forUsername=latenight&key={YOUR_API_KEY}

响应

{
    // ... snip ...
    "items": [
    {
        "kind": "youtube#channel",
        "etag": "\"...\"",
        "id": "UC8-Th83bH_thdKZDJCrn88g"
    }]
}

1 个答案:

答案 0 :(得分:8)

我可能错了,但我相信,在API的第3版中,通道ID是获得完整响应的唯一方法,因为“用户名”的概念实际上不再以相同的方式存在。也就是说,新创建的YouTube频道与G +个人资料相关联,并且可以显示名称,但实际上并没有任何与此类频道相关联的YouTube用户名。

由于用户名曾经存在,并且许多频道仍然为他们所知,因此“forUsername”参数为您提供相关的channelID,然后发出关于品牌设置的请求。

现在,已经说过,很明显,API资源管理器页面上的语言并没有反映出这一点,也许就是问题所在;我从这个文档中得出了推论:

https://developers.google.com/youtube/v3/guides/working_with_channel_ids#v3

并从此错误报告中获取:

https://code.google.com/p/gdata-issues/issues/detail?id=4821&q=forUsername&colspec=API%20ID%20Type%20Status%20Priority%20Stars%20Summary

但是,我总是有可能读错了,你实际上看到了一个新的错误。唯一可以确定的方法是提交文件(或者团队成员可以在这里发表评论)?