如何获取用户的YouTube频道区域?

时间:2019-06-23 08:28:47

标签: youtube-api

我的Web应用程序生成视频,并使用YouTube数据API v.3将其上传到用户频道。

用户通过OAuth授权我的应用后,会出现一个表单,要求提供视频标题,说明,标签和视频类别。

据我所知,可用类别列表取决于用户/渠道区域,因此我必须提供相关的各个类别列表以供选择。这意味着每个会话都有一个新的API请求。不过,该列表可以轻松地在服务器端缓存,以减少YouTube API请求的数量。

如果授权后仅提供区域代码。

向我的应用授予youtube.upload权限后,如何了解用户选择的YouTube频道的区域代码?

2 个答案:

答案 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

Find country of channel in youtube api v3