首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >YouTube数据接口(搜索频道)

YouTube数据接口(搜索频道)
EN

Stack Overflow用户
提问于 2018-09-09 16:53:44
回答 1查看 82关注 0票数 0

使用YouTube Data API,我可以使用"search“API找到一个频道:

代码语言:javascript
复制
https://www.googleapis.com/youtube/v3/search?part=snippet&q=Alexander+condrashov&type=channel&key=YOUR_API_KEY

这在我的items数组中提供了一个对象。

但这是一个“搜索”API,而不是一个“频道”API。

我认为找到频道的正确方法是使用“channel : list”API。

尝试通过用户名查找频道时,我的items数组中没有任何对象:

代码语言:javascript
复制
https://www.googleapis.com/youtube/v3/channels?part=snippet%2CcontentDetails%2Cstatistics&forUsername=Alexander+kondrashov&key=YOUR_API_KEY

有没有人成功地使用了"Channels: list“和"forUsername”来查找频道?

EN

回答 1

Stack Overflow用户

发布于 2018-10-09 01:19:28

我知道这很古老,你可能已经想出了一些办法,但不幸的是,YouTube的Channels API不能很好地可靠地找到除频道ID以外的任何频道。作为一种变通方法,我将这两种方法结合起来,以获得可靠的结果(尽管它需要两次查询,并且需要更多的配额,这是很糟糕的做法)。

例如(在使用Google SDK的C#中):

代码语言:javascript
复制
public async Task<Channel> GetChannelByUsername(string username)
{
    try
    {
        var channel = default(Channel);
        var searchRequest = this.youtubeService.Search.List("snippet");
        searchRequest.Q = username;
        searchRequest.Type = "channel";

        var searchResults = await searchRequest.ExecuteAsync();
        if (searchResults != null && searchResults.Items.Count > 0)
        {
            var searchResult = searchResults.Items.FirstOrDefault(i => i.Snippet.ChannelTitle.ToLower() == username);
            if (searchResult != null && searchResult.Snippet != null)
            {
                var channelSearchResult = searchResult.Snippet;
                var channelListRequest = this.youtubeService.Channels.List("snippet");
                channelListRequest.Id = channelSearchResult.ChannelId;

                var channelListResult = await channelListRequest.ExecuteAsync();
                if(channelListResult != null)
                {
                    channel = channelListResult.Items.FirstOrDefault();
                }
            }
        }

        return channel;
    }

    catch (Exception ex)
    {
        // Handle Exception
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52242887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档