在Youtube GData Youtube类中搜索多个关键字

时间:2013-09-30 19:31:07

标签: youtube youtube-api zend-framework2 zend-gdata

Youtube API文档说明,根据以下链接,可以在视频提取期间搜索多个关键字。

https://developers.google.com/youtube/2.0/reference#Searching_for_videos

以下链接提供了相同的一些示例。为" q"提供的示例参数表示我们可以在搜索中使用NOT( - )和OR(|)运算符:

https://developers.google.com/youtube/2.0/reference#qsp

示例:q = boating%7Csailing搜索划船或航行。

我能够理解这些观点。我的问题是我在Zend Framework 2中使用ZendGData库来搜索视频。我不确定如何为搜索提供多个关键字。

$yt = new ZendGData\YouTube();
$query = $yt->newVideoQuery();

我尝试过的所有组合如下。它们都不起作用。

$query->setQuery("french,tamil");
$query->setQuery("french|tamil");
$query->setQuery("french%7Ctamil");
$query->setQuery("french or tamil");

注意:文档说使用url编码,以便对管道符号进行编码。这就是为什么我在搜索中管理%7C的原因。

ZendGData类生成的URL是: https://gdata.youtube.com/feeds/api/videos?q=french|tamil&start-index=58&max-results=50&safeSearch=none&orderby=viewCount&format=5&v=2

这不会使用关键字" tamil"来获取视频。所有视频仅来自第一个关键字。

请指出我正确的方向。

1 个答案:

答案 0 :(得分:0)

或者这是一个简单的空间。测试了它,它找到了所有关键字https://gdata.youtube.com/feeds/api/videos?q=french%20tamil&start-index=1&max-results=50&safeSearch=none&orderby=viewCount&format=5&v=2

所以试试这个$ query-> setQuery(“french tamil”);或$ query-> setQuery(urlencode((“french tamil”));

你的start-index看起来很奇怪,不应该是start-index = 1