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=划船%7Csailing搜索划船或帆船。
我能够理解这些要点。我的问题是我在Zend Framework 2中使用ZendGData库来搜索视频。我不确定如何为搜索提供多个关键字。
$yt = new ZendGDataYouTube();
$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
这不会获取带有关键字"泰米尔语"的视频。所有视频仅来自第一个关键字。
请指出我正确的方向。
或者这个有一个简单的空格。测试了它,它找到了所有关键字 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("法语泰米尔语"(; 或$query->setQuery(urlencode(("法语泰米尔语"((;
此外,您的起始索引看起来很奇怪,不应该是起始索引= 1