Я пытался интегрировать API Azure ML с PHP, но, к сожалению, получил ошибку в ответ.
Обновлено: я использовал API-интерфейс ответа на запрос через ответ json
Ниже приведен ответ, полученный при выполнении сценария PHP:
array(1) { ["error"]=> array(3) { ["code"]=> string(11) "BadArgument"["message"]=> string(26) "Invalid argument provided." ["details"]=> array(1)
{[0]=> array(2) { ["code"]=> string(18) "RequestBodyInvalid" ["message"]=>
string(68) "No request body provided or error in deserializing the request
body." } } } }
PHP скрипт:
$url = 'URL';
$api_key = 'API';
$data = array(
'Inputs'=> array(
'My Experiment Name'=> array(
"ColumnNames" => [['Column1'],
['Column2'],
['Column3'],
['Column4'],
['Column5'],
['Column6'],
['Column7']],
"Values" => [ ['Value1'],
['Value2'],
['Value3'],
['Value4'],
['Value5'],
['Value6'],
['Value7']]
),
),
'GlobalParameters' => new StdClass(),
);
$body = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Bearer '.$api_key, 'Accept: application/json'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = json_decode(curl_exec($ch), true);
//echo 'Curl error: ' . curl_error($ch);
curl_close($ch);
var_dump ($response);
Я следовал за несколькими примерами, все еще неспособными взломать это. Пожалуйста, дайте мне знать решение для этого.
Согласно информации об ошибке, я думаю, что проблема была вызвана запросом ML REST API без правильного тела json.
Я предлагаю вам обратиться к статье «Начало работы с API-интерфейсами Text Analytics для определения настроений, ключевых фраз, тем и языка» правильно отформатировать входные строки в JSON в качестве тела запроса и повторите попытку.
Надеюсь, поможет.
Если вы можете обновить свой вопрос, указав, какой API ML REST вы использовали, я думаю, что это очень полезно для выяснения проблемы.
Ожидайте вашего обновления.
Других решений пока нет …