我的Web应用程序生成视频,并使用YouTube数据API v.3将其上传到用户频道。
用户通过OAuth授权我的应用后,会出现一个表单,要求提供视频标题,说明,标签和视频类别。
据我所知,可用类别列表取决于用户/渠道区域,因此我必须提供相关的各个类别列表以供选择。这意味着每个会话都有一个新的API请求。不过,该列表可以轻松地在服务器端缓存,以减少YouTube API请求的数量。
如果授权后仅提供区域代码。
向我的应用授予youtube.upload
权限后,如何了解用户选择的YouTube频道的区域代码?
答案 0 :(得分:1)
您必须请求有关该频道的信息。
赞:
https://www.googleapis.com/youtube/v3/channels?part=snippet%2CcontentDetails&id=<CHANNEL_ID>&fields=items(brandingSettings%2Fchannel%2Fcountry%2Csnippet(country%2Cdescription)%2CtopicDetails)&key={YOUR_API_KEY}
并获得country
结果。
示例:在这里,我请求频道Musicoterapia
的国家/地区-channel_id: UCf4iMeUCDs0NFkJI03aJSbQ
:
https://www.googleapis.com/youtube/v3/channels?part=snippet%2CcontentDetails&id=UCf4iMeUCDs0NFkJI03aJSbQ&fields=items(brandingSettings%2Fchannel%2Fcountry%2Csnippet(country%2Cdescription)%2CtopicDetails)&key={YOUR_API_KEY}
结果是:
{
"items": [
{
"snippet": {
"description": "Bienvenidos al canal de musicoterapia, en nuestro canal podrás encontrar música relajante para dormir, meditación, yoga, zen, spa, estudiar y concentrarse, ondas cerebrales, cuencos tibetanos, música chamánica, y mucho más.\n\nNo olvides suscribirte para estar al día de nuevas publicaciones.",
"country": "ES"
}
}
]
}
您可以测试此请求in the Google API Explorer。
请注意,country
代码是ES
。
另一个频道示例是:Justin Johnson
-channel_id: UCzH2vVrSpjwHNM0U3jJM0lQ
{
"items": [
{
"snippet": {
"description": "Justin Johnson : Official YouTube Channel\n\nLive Concert Footage, Interviews, Press, and Instrument Showcases. How-To Workshops on Guitar, Lap Steel, Slide Guitar, and Roots Instruments. \n\nBooking & Media Inquiries: Contact@JustinJohnsonLive.com",
"country": "US"
}
}
]
}
您可以在YouTube官方文档-channel.list demo中测试此请求。
请注意,country
代码是US
。
拥有country
代码后,您可以以用户Mak suggested in his answer的身份继续操作。
答案 1 :(得分:0)
唯一的解决方法是使用guideCategories。
您可以list guideCategories by region。
然后在您的channels->list通话中,您可以插入该category ids。