gpt4 book ai didi

c# - 使用适用于 .NET 的 API 搜索 YouTube

转载 作者:行者123 更新时间:2023-11-30 12:15:20 25 4
gpt4 key购买 nike

我正在尝试使用 YouTube API 通过搜索文本来搜索 YouTube。示例代码如下。

using Google.YouTube;
using Google.GData.YouTube;
using Google.GData.Client;
using Google.GData.Extensions;

(..)

YouTubeQuery query = new YouTubeQuery(YouTubeQuery.DefaultVideoUri);

//order results by the number of views (most viewed first)
query.OrderBy = "viewCount";

// search for puppies and include restricted content in the search results
// query.SafeSearch could also be set to YouTubeQuery.SafeSearchValues.Moderate
query.Query = "puppy";
query.SafeSearch = YouTubeQuery.SafeSearchValues.None;

Feed<Video> videoFeed = request.Get<Video>(query);

printVideoFeed(videoFeed);

我的问题是 query.QueryrequestprintVideoFeed 不存在 - 如何使用 API 搜索 YouTube?

最佳答案

虽然您可以使用 .NET client library for YouTube ,我发现 .NET API 落后于协议(protocol)本身的开发(例如,我不确定您是否甚至可以从 API 获得喜欢/不喜欢的信息)。

相反,我建议您使用 Data API Protocol ,它使用 HTTP 和 XML(在 ATOM format 中),其中 .NET 具有可以轻松使用/解析的类。文档也非常完整,编写您的查询将非常容易。

在您的示例中,查询的 URL 为:

http://gdata.youtube.com/feeds/api/videos?v=2&orderby=viewCount&safeSearch=none&q=puppy

随后会返回一个结构如下的 XML 文档(尽管数据可能不同,因为我假设新的小狗视频一直在上传):

<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns='http://www.w3.org/2005/Atom'
xmlns:app='http://www.w3.org/2007/app'
xmlns:media='http://search.yahoo.com/mrss/'
xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'
xmlns:gd='http://schemas.google.com/g/2005'
xmlns:gml='http://www.opengis.net/gml'
xmlns:yt='http://gdata.youtube.com/schemas/2007'
xmlns:georss='http://www.georss.org/georss'
gd:etag='W/&quot;C0cBR38zfCp7I2A9WhdUEU4.&quot;'>
<id>tag:youtube.com,2008:videos</id>
<updated>2011-09-27T13:44:16.184Z</updated>
<category scheme='http://schemas.google.com/g/2005#kind'
term='http://gdata.youtube.com/schemas/2007#video'/>
<title>YouTube Videos matching query: puppy</title>
<logo>http://www.youtube.com/img/pic_youtubelogo_123x63.gif</logo>
<link rel='alternate' type='text/html' href='http://www.youtube.com'/>
...
<entry gd:etag='W/&quot;CEINR347eCp7I2A9WhdUEEQ.&quot;'>
<id>tag:youtube.com,2008:video:vkeETehk8C8</id>
<published>2007-05-21T02:02:00.000Z</published>
<updated>2011-09-27T03:03:16.000Z</updated>
<category scheme='http://schemas.google.com/g/2005#kind'
term='http://gdata.youtube.com/schemas/2007#video'/>
...

如果您想利用他们已有的对象模型,您还可以获取 XML 并将其放入 YouTube .NET 客户端结构中以便于访问(虽然不容易,但这是可能的),但下拉到用于获取 API 未公开的值的 XML。

关于c# - 使用适用于 .NET 的 API 搜索 YouTube,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7567669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com