Я пытаюсь получить более 20 изображений с конечной точкой поиска:
$data = '{
"query": {
"ands": [
{
"output": {
"input": {
"data": {
"image": {
"url": "' . $url . '"}
}
}
}
}
]
}
}';
$ch = curl_init('https://api.clarifai.com/v2/searches?
page=1&per_page=30');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Authorization: Key " . self::$clarify_user_apikey,
"Content-Type: application/json")
);
$output = curl_exec($ch);
curl_close($ch);
Изображения инициализированы выше в $data
переменная.
У поиска картинок нет атрибутов pagination и per_page, или я что-то не так делаю?
Однако я изменяю два атрибута, я всегда получаю максимум 20 изображений назад. В рассматриваемом приложении / проекте содержится более 70 тыс. Изображений, а в приложении проводника также отображается больше изображений.
Спасибо!
Я нашел ответ.
Для облегчения понимания я отформатировал часть JSON в массив.
$data = array(
"query" => array(
"ands" => array(
array(
"output" => array(
"input" => array(
"data" => array(
"image" => array(
"url" => $url
)
)
)
)
)
)
),
"pagination" => array(
"page" => 1,
"per_page" => 100
),
);
Этот код возвращает 100 изображений. Я еще не видел верхнего предела, но, похоже, он работает и с 500 изображениями. Однако запрос на запрос становится медленным.
Других решений пока нет …