php - Watson Analytics - 返回格式不正确
问题描述:
我不太确定Watson Analytics API是否有最新的更新,但实际上我的原始代码工作正常,现在我面临着问题。php - Watson Analytics - 返回格式不正确
我们在php中创建了一个名为csv的变量,然后执行curl将其加载到指定的API Explorer页面中。按照代码如何是:
功能populateDataset_Internal($ DSID,$ segmentId,$ strJsonColumns,$ strLine中){
$curl = curl_init();
$csv = $strJsonColumns;
$csv .= $strLine;
echo $csv;
curl_setopt_array($curl, array(
CURLOPT_URL => "/data/v1/datasets/" . $dsId . "/content/" . $segmentId,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
curl_setopt($curl, CURLOPT_POSTFIELDS, $csv),
//CURLOPT_POSTFIELDS => $csv,
CURLOPT_HTTPHEADER => array(
"accept: text/csv",
"content-type: text/csv",
"cache-control: no-cache",
"authorization: Bearer " . $_SESSION["tokenl"],
"x-ibm-client-id: " . $_SESSION["XIBMCLIENTID"],
"x-ibm-client-secret: " . $_SESSION["XIBMCLIENTSECRET"]
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
echo "populateDataset_Internal:" . $response . " - " . $err ."<br/>";
return "";
}
的$ CSV包含TXT/CSV内容,例如该示例以下:
JOBType,巴西;贝塔尔;金融;银行;测试;小时; 02/02/2016; 00; 02/02/2016; 01;完成
在代码被替换到API Explorer之前,这一切都很顺利。从那以后,我们开始收到格式错误。在与WA团队支持交换了一些电子邮件后,他们提供了其他源代码,但问题依然存在。代码在上面列出。
有人面对同样的问题,甚至有什么想法吗?
答
我使用邮差转载了这个问题。您需要删除或更新Accept标头。该API只返回application/json。我认为最近增加了Accept值的执行,这就是为什么它曾经工作和停止。返回的有效载荷是不可接受的,我会要求团队解决这个问题。
它也看起来像API Explorer中显示的示例是错误的。
Hello Rob,首先感谢您的尝试!我已将接受语句中的标头更新为应用程序/ json,并且错误仍然存在。我也试过对该行进行注释,并且仍然返回格式错误。任何其他的尝试? –
您需要查看返回的响应代码,标题和正文。畸形的错误来自PHP,因为您试图将错误响应视为成功响应。 –