布尔或似乎不适用于Youtube APIv3列表搜索(或PHP SDK)

时间:2015-06-08 08:44:40

标签: php youtube youtube-api youtube-data-api

我一直在尝试搜索与我所连接的特定频道上的多个关键字之一匹配的视频。我使用的是Officiel PHP SDK,以及我所拥有的:

//client is a connected Google_Client
$youtube = new Google_Service_YouTube($client);
$pageToken = null;

$res = $youtube->search->listSearch(
    'id, snippet', [
        'maxResults' => 50,
        'q' => "foo|bar",
        'forMine' => true,
        'type' => 'video',
        'pageToken' => $pageToken
    ]
);

这只会返回包含BOTH" foo"并且" bar"而不是EITHER" foo"或" bar"。我也试过" foo | bar"," foo%7Cbar"," urlencode(" foo | bar)"," foo || bar",但没有这些给了我想要的东西。

我错过了什么吗?

感谢。

1 个答案:

答案 0 :(得分:1)

来自documentation

  

要搜索与“划船”或“航行”相匹配的视频,请设置q   划船参数值。

     

请注意,管道字符在发送时必须进行URL转义   您的API请求。管道符的URL转义值为%7C。

刚刚对您的案例进行了测试,其效果与预期一致,title列包含“foo”或“bar”。

https://www.googleapis.com/youtube/v3/search?q=foo|bar&type=video&maxResults=50&key=YOUR_API_KEY&part=snippet

"title": "KING OF THE BAR 2015 - Ultimate Calisthenics Battle!",
...
"title": "Foo Fighters",
...
"title": "Foo Fighters - Something From Nothing",
...
"title": "Browning BAR M1918",
...
"title": "Bar \"u Szwagra\" - Video Dowcip",

因此,问题应该在PHP SDK中。