Я хочу использовать 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 о понижении качества большого пальца для пробных пользователей. Они утверждают, что поставляют высококачественные миниатюры, но если это стандарт, то это бесполезно. Должно быть, я упустил кое-что, что я думаю?
Конечно, Гэри, если я не получу правильного ответа на мой вопрос качества, я закрою поток с вашим ответом как правильно.
В соответствии с описанием Thumbnail Get , 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);