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

 bw32dts 发布于 2023-01-19 20:48

使用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"
    }]
}

jlmcdonald.. 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

但是,我总是有可能读错了,你实际上看到了一个新的错误.确切知道的唯一方法是提交它(或者团队中的某个人可以在这里发表评论)?

1 个回答
  • 我可能错了,但我相信,在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

    但是,我总是有可能读错了,你实际上看到了一个新的错误.确切知道的唯一方法是提交它(或者团队中的某个人可以在这里发表评论)?

    2023-01-19 20:51 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有