php - bool OR 似乎在 Youtube APIv3 列表搜索(或 PHP SDK)中不起作用

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

我一直在尝试在我连接的特定 channel 上搜索与几个关键字之一相匹配的视频。我正在使用 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
    ]
);

这将只返回包含“foo”和“bar”的视频,而不是“foo”或“bar”。我也尝试过“foo | bar”、“foo%7Cbar”、“urlencode("foo|bar)"、“foo||bar”,但这些都没有给我想要的东西。

我错过了什么吗?

谢谢。

最佳答案

来自documentation :

To search for videos matching either "boating" or "sailing", set the q parameter value to boating|sailing.

Note that the pipe character must be URL-escaped when it is sent in your API request. The URL-escaped value for the pipe character is %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 中。

关于php - bool OR 似乎在 Youtube APIv3 列表搜索(或 PHP SDK)中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30704660/

相关文章:

php - 基本 PHP 文件操作

php - Composer 脚本使用旧的 php 版本

php - 如何获取Youtube使用的解密解密密码的下载链接?

php - Youtube API限制注释

javascript - 控制Bxslider中的youtube视频自动播放并在播放完毕后滑动到下一张幻灯片

php - 比较 PHP 的 NumberFormatter::formatCurrency 结果

php - 中文字符 - PHP 编码

.net - YouTube API .NET C#编辑视频问题

javascript - 当我切换到网站的 SSL 加密时,我的 YouTube 视频停止播放

mysql - Youtube API : Get subscribers counts of a million channels