我正在尝试通过搜索端点获取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
变量中进行了初始化。
图像搜索没有分页和per_page属性,还是我做错了什么?
但是,如果我更改了这两个属性,则总是最多返回20张图像。该应用程序/项目具有超过70k的图像,而资源管理器应用程序也显示了更多图像。
谢谢!
答案 0 :(得分:0)
我找到了答案。 为了更容易理解,我将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张图像。这样,请求调用就会变慢。