Я хочу использовать Azure Computer Vision API создавать эскизы для моего сайта WordPress. Я пытаюсь заставить его работать в php с wp_remote_post, но я не знаю, как разобрать параметры? Возвращает миниатюру в действительно плохом качестве и по умолчанию 500x500px. Любые идеи о том, как решить эту проблему?
function get_thumbnail($URL) //* * * * Azure Computer Vision API - v1.0 * * * *
{
$posturl='https://api.projectoxford.ai/vision/v1.0/generateThumbnail';
$request = wp_remote_post($posturl, array(
'headers' => array(
'Content-Type' => 'application/json',
'Ocp-Apim-Subscription-Key' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'),
'body' => array('url' => $URL)
));
if ( is_wp_error( $request ) )
{
$error_message = $request->get_error_message();
return "Something went wrong: $error_message";
} else
{
return $request['body'];
}
}
РЕДАКТИРОВАТЬ 1
Спасибо @Gary ваше право! Теперь обрезка верна, но у меня огромная проблема с качеством! Я использую пробную версию, но не вижу никакой информации от Azure о снижении качества большого пальца для пробных пользователей. Они утверждают, что поставляют высококачественные миниатюры, но если это стандарт, это абсолютно бесполезно.
Должно быть, я что-то упустил из виду?
Конечно, Гэри, если я не получу правильного ответа на мой качественный вопрос, я закрою ветку с вашим ответом как правильный.
По описанию Получить эскиз, width
,height
а также smartCropping
должны быть установлены как параметры запроса, которые должны объединяться в URL.
Однако второй аргумент в wp_remote_post()
не принимайте URL parameters
и ничего не будет делать на них. Таким образом, вам нужно объединить URL-адрес, прежде чем установить в wp_remote_post()
,
Вы можете попробовать использовать add_query_arg () сначала объединить ваш URL,
$posturl='https://api.projectoxford.ai/vision/v1.0/generateThumbnail';
$posturl=add_query_arg( array(
'width' => 600,
'height' => 400,
'smartCropping' => true
), $posturl);
Других решений пока нет …