Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
YouTube API-按用户名查询时未返回频道品牌设置_Youtube_Youtube Api - Fatal编程技术网

YouTube API-按用户名查询时未返回频道品牌设置

YouTube API-按用户名查询时未返回频道品牌设置,youtube,youtube-api,Youtube,Youtube Api,当使用YouTube API v3查询频道的品牌设置时,为什么按频道ID查询时返回这些设置,而按用户名查询时不返回这些设置?API不会按用户名返回频道列表查询的品牌设置 如果您通过频道ID(例如,ID=UC8-Th83bH_thdKZDJCrn88g)查询频道的品牌设置,则会返回一套完整的品牌设置: 谷歌API浏览器: 请求 回应 另一方面,如果您发送一个用户名的频道列表查询,例如forUsername=latenight,则根本不会得到任何品牌设置。不会返回或填充品牌设置 请求 回应 我可能错

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

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

谷歌API浏览器:

请求

回应

另一方面,如果您发送一个用户名的频道列表查询,例如forUsername=latenight,则根本不会得到任何品牌设置。不会返回或填充品牌设置

请求

回应


我可能错了,但我相信,在v3的API中,通道ID是获得完整响应的唯一方法,因为用户名的概念已经不再以同样的方式存在了。也就是说,新创建的YouTube频道链接到一个G+配置文件,可以有一个显示名称,但实际上没有任何YouTube用户名与这样的频道相关联

但是,因为用户名曾经存在,而且许多频道仍然为他们所知,所以forUsername参数用于提供相关的channelID,然后发出品牌设置请求

话虽如此,很明显API浏览器页面上的语言并没有反映这一点,也许这就是问题所在;我从这份文件中得出以下结论:

从这个bug报告中:


但也有可能,我读错了,而你实际上看到了一个新的bug。唯一确定答案的方法是将其归档,或者团队中的某个人可以在此处发表评论?

我可能错了,但我相信,在v3的API中,通道ID是获得完整响应的唯一方法,因为用户名的概念实际上不再以同样的方式存在。也就是说,新创建的YouTube频道链接到一个G+配置文件,可以有一个显示名称,但实际上没有任何YouTube用户名与这样的频道相关联

但是,因为用户名曾经存在,而且许多频道仍然为他们所知,所以forUsername参数用于提供相关的channelID,然后发出品牌设置请求

话虽如此,很明显API浏览器页面上的语言并没有反映这一点,也许这就是问题所在;我从这份文件中得出以下结论:

从这个bug报告中:


但也有可能,我读错了,而你实际上看到了一个新的bug。唯一可以确定的方法是归档,或者团队中的某个人可以在这里发表评论?

不,我想说你链接的指南很好地涵盖了这一点,谢谢。不知怎的,我的搜索没有找到它。。。v3被设计为以相同的方式处理具有和不具有遗留用户名的通道,这意味着在任何地方都使用通道ID。如果一个用户名存在并标识一个或多个频道,它并不能真正解释为什么它不应该返回相同的结果,但我现在明白了,这是已经做出的选择。不,我想说你链接的指南很好地涵盖了它,谢谢。不知怎的,我的搜索没有找到它。。。v3被设计为以相同的方式处理具有和不具有遗留用户名的通道,这意味着在任何地方都使用通道ID。如果用户名存在并标识一个或多个频道,它并不能真正解释为什么它不应该返回相同的结果,但我现在明白了,这是已经做出的选择。
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
            }
        }
    }]
}
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"
    }]
}