我正在尝试使用PHP / cURL连接到智能工作表API。
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.smartsheet.com/2.0/sheets/xxxxxxxxx/rows");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
curl_setopt($ch, CURLOPT_POSTFIELDS,
"[{\"toTop\":true, \"cells\": [ "
. "{\"columnId\": xxxxxxxx, \"value\": description},"
. "{\"columnId\": xxxxxxxx, \"value\": amount},"
. "{\"columnId\": xxxxxxxx, \"value\": po},"
. "{\"columnId\": xxxxxxxx, \"value\": wo},"
. "{\"columnId\": xxxxxxxx, \"value\": contractor},"
. "{\"columnId\": xxxxxxxx, \"value\": vendorcode},"
. "{\"columnID\": xxxxxxxx, \"value\": notes}]");
curl_setopt($ch, CURLOPT_POST, 1);
$headers = array();
$headers[] = "Authorization: Bearer xxxxxxxx";
$headers[] = "Content-Type: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
?>
由于某些原因,每次运行时都会出现以下错误,
与api.smartsheet.com:443相关的未知SSL协议错误
我试图改变SSL_Version,但这也无法解决问题。我知道我的所有数字(令牌,表格,合法)都是正确的。我试过通过其他api的人的其他解决方案,但仍然找不到答案。有没有人对如何解决这个问题有任何想法?
谢谢你, 约书亚
答案 0 :(得分:0)
curl_setopt($ ch,CURLOPT_SSLVERSION,3);
这会强制执行SSLv3,这是一种由于安全原因而被淘汰了一段时间的协议。并且,looking at the configuration of the server它不支持与大多数其他服务器类似的SSLv3。
我建议简单地删除这一行,让curl选择最好的版本。
我试图改变SSL_Version,但这也无法解决问题。
它可能无法解决问题,因为您没有从服务器获得预期的响应。它可能会删除您遇到的特定SSL问题,以便继续处理您可能遇到的其他问题。仔细查看可能会更改的任何错误消息。