Microsoft Face Api с переполнением стека

Когда я пытаюсь определить лицо и его атрибуты по изображению, используя CURL-запрос к проекту Microsoft в Oxox, он всегда возвращает следующий код ошибки

{«code»: «BadArgument», «message»: «Неверный тип носителя.»}.

При тестировании распознавания лиц с помощью их тестовой консоли он успешно возвращает атрибуты лица из конкретного изображения. Вот мой код

$query_params = array('analyzesFaceLandmarks' => 'true',







Microsoft`s Face Api with PHP - Stack Overflow














































Решение

Когда я пытаюсь определить лицо и его атрибуты по изображению, используя CURL-запрос к проекту Microsoft в Oxox, он всегда возвращает следующий код ошибки

{"code": "BadArgument", "message": "Неверный тип носителя."}.

При тестировании распознавания лиц с помощью их тестовой консоли он успешно возвращает атрибуты лица из конкретного изображения. Вот мой код

$query_params = array('analyzesFaceLandmarks' => 'true',
'analyzesAge' => 'true',
'analyzesGender' => 'true',
'analyzesHeadPose' => 'true',
'subscription-key'=> 'my subscription key'
);
$params = "";
$sep    = '';
foreach ($query_params as $key => $value) {
$params .= $sep.$key.'='.$value;
$sep     = '&';
}


$API_Endpoint = "https://api.projectoxford.ai/face/v0/detections?".$params;
$img_arr      = array('url'=>'{remote file path}');
$data         = json_encode($img_arr);

$headers = array();
$headers[] = 'Content-Type:application/json';
$headers[] = 'Content-Length:'.strlen($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $API_Endpoint);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);


curl_close($ch);
print_r('<pre>');
print_r($result);

Если кто-нибудь знает причину этой проблемы, пожалуйста, помогите мне как можно скорее.

самый старый "data-shortcut =" O

Другие решения

Немного поздно, но вот измененный рабочий пример. Я думаю, что у вас возникла проблема с CURLOPT_HTTPHEADER, а не с CURLOPT_HEADER (в данном случае).

define( 'API_BASE_URL',     'https://api.projectoxford.ai/face/v0/detections?' );
define( 'API_PRIMARY_KEY',      'YOUR KEY HERE' );
$img = 'YOUR IMAGE URL HERE';

$post_string = '{"url":"' . $img . '"}';

$query_params = array(
'analyzesFaceLandmarks'     => 'true',
'analyzesAge'                       => 'true',
'analyzesGender'                    => 'true',
'analyzesHeadPose'              => 'true',
);

$params = '';
foreach( $query_params as $key => $value ) {
$params .= $key . '=' . $value . '&';
}
$params .= 'subscription-key=' . API_PRIMARY_KEY;

$post_url = API_BASE_URL . $params;

$ch = curl_init();
curl_setopt( $ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($post_string))
);

curl_setopt( $ch, CURLOPT_URL, $post_url );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $post_string );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$response = curl_exec( $ch );
curl_close( $ch );

print_r( '<pre>' );
print_r( $response );
голосует "data-shortcut =" V

1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector