Я использую PHP SDK делать поиск изображений
$service = new Google_Service_Customsearch($client);
$optParams = array(
'imgType' => 'photo',
'imgColorType' => 'color',
'imgSize' => 'large',
'searchType' => 'image',
'num' => '5',
'safe' => 'medium',
'rights' => '(cc_publicdomain|cc_attribute|cc_sharealike)',
'filter' => '1',
'cx' => <my cx>,
);
$results = $service->cse->listCse($query, $optParams);
но мне неясно, что поле «права» делает что-нибудь.
Кажется, генерирует запрос curl, который выглядит следующим образом …
https://www.googleapis.com/customsearch/v1?
q=<query here>
&imgType=photo
&imgColorType=color
&imgSize=large
&searchType=image
&num=6
&safe=medium
&rights=%28cc_publicdomain%7Ccc_attribute%7Ccc_sharealike%29
&filter=1
&cx=<my cx>
но я не уверен, что работает так, как я ожидаю. мой запрос возвращает разные изображения, тогда, когда я использую веб-форму.
Дополнительно документы бесполезно заявляет ..
rights | string | Filters based on licensing. Supported values include:
| | cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial,
| | cc_nonderived, and combinations of these.
однако я никогда не получаю сообщение об ошибке с этим полем, я могу поместить в него любой ненужный мусор.
Какой правильный формат Google ожидает здесь? запятая? массив? по трубам?
Кроме того, параметры, перечисленные в документах, похоже, не совпадают точно с параметрами в веб-форме, и некоторые идеи также будут полезны.
Вы можете увидеть здесь для лицензирования пользовательского поиска
https://developers.google.com/custom-search/docs/structured_search#licensing
Других решений пока нет …