PHP错误:与api.smartsheet.com:443

时间:2017-12-14 19:02:47

标签: php ssl curl smartsheet-api

我正在尝试使用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的人的其他解决方案,但仍然找不到答案。有没有人对如何解决这个问题有任何想法?

谢谢你, 约书亚

1 个答案:

答案 0 :(得分:0)

  

curl_setopt($ ch,CURLOPT_SSLVERSION,3);

这会强制执行SSLv3,这是一种由于安全原因而被淘汰了一段时间的协议。并且,looking at the configuration of the server它不支持与大多数其他服务器类似的SSLv3。

我建议简单地删除这一行,让curl选择最好的版本。

  

我试图改变SSL_Version,但这也无法解决问题。

它可能无法解决问题,因为您没有从服务器获得预期的响应。它可能会删除您遇到的特定SSL问题,以便继续处理您可能遇到的其他问题。仔细查看可能会更改的任何错误消息。