Логическое ИЛИ, кажется, не работает в поиске по списку APIvv Youtube (или PHP SDK)

Я пытался найти видео, соответствующие одному из нескольких ключевых слов на определенном канале, к которому я подключен. Я использую 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 «, но ничего из этого не дает мне то, что я хочу.

Я что-то пропустил ?

Благодарю.

3

Решение

От документация:

Для поиска видео, подходящего под «лодку» или «под парусом», установите q
значение параметра на лодке | парусный спорт.

Обратите внимание, что символ канала должен быть экранирован URL при отправке в
Ваш запрос API. Значение экранированного URL для символа канала равно% 7C.

Только что проверил ваш случай, и он работает как ожидалось, title столбец содержит «foo» ИЛИ «bar».

https://www.googleapis.com/youtube/v3/search?q=foo|bar&тип = видео&maxResults = 50&ключ = YOUR_API_KEY&часть = фрагмент

"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.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]