我尝试将Azure ML API与PHP集成,但遗憾的是收到错误。
更新:我使用了通过json响应发送的请求响应API
以下是执行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);
我遵循了几个例子,仍然无法破解它。请让我知道解决方案。
答案 0 :(得分:0)
根据错误信息,我认为问题是由于没有正确的json主体而请求ML REST API引起的。
我建议您可以参考文章"Getting started with the Text Analytics APIs to detect sentiment, key phrases, topics and language",将JSON中的输入行正确格式化为请求正文,然后重试。
希望它有所帮助。
如果您可以更新您的问题以指定您使用的ML REST API,我认为这对于解决问题非常有帮助。
期待您的更新。