我遇到了与演示API的连接问题
https://demo.docusign.net/restapi
要连接到API,我使用下面提供的代码。它适用于我的美国同事,但当我尝试从立陶宛连接时,没有回应。
是否有位置限制,或者我遗失了什么?
它应该是防火墙的一些细节(我在NAT下)?
我的本地php / http服务器是否需要一些特定的配置?
$email = "some email @ fsdfdsf";
$integratorKey = "TEST-xxxxxxxxxxx";
$password = "some password";
$url = "https://demo.docusign.net/restapi/v2/login_information?include_account_id_guid=true";
$header = "<DocuSignCredentials><Username>" . $email . "</Username><Password>" . $password . "</Password><IntegratorKey>" . $integratorKey . "</IntegratorKey></DocuSignCredentials>";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("X-DocuSign-Authentication: $header"));
$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if($status==200){
$response = json_decode($json_response, true);
print_r(json_encode($response['loginAccounts'][0]));
}else{
print_r($json_response);
}
答案 0 :(得分:1)
我找到了停止工作上面的源代码的内容。 在我的本地服务器上,ssl未签名。 如此简单,只有在测试环境中快速修复才能关闭curl上的ssl检查:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
或获得签署的ssl证明。
答案 1 :(得分:1)
这就是我解决它的方法,我添加了$config->setSSLVerification(false);
tu关闭ssl验证
$username = "marko@XXX.com";
$password = "XXX";
$integrator_key = "some_key";
// change to production before going live
//https://www.docusign.net/restapi
//https://www.docusign.com/p/RESTAPIGuide/Content/GettingStarted/REST%20API%20Version.htm
$host = "https://demo.docusign.net/restapi";
// create a new DocuSign configuration and assign host and header(s)
$config = new \DocuSign\eSign\Configuration();
$config->setHost($host);
$config->setSSLVerification(false);
$config->addDefaultHeader("X-DocuSign-Authentication", "{\"Username\":\"" . $username . "\",\"Password\":\"" . $password . "\",\"IntegratorKey\":\"" . $integrator_key . "\"}");
// instantiate a new docusign api client
$apiClient = new \DocuSign\eSign\ApiClient($config);
答案 2 :(得分:0)
DocuSign未对API客户端实施任何位置限制。
您可以尝试使用网络浏览器中的服务来检查您的防火墙是否允许连接到DocuSign。试试demo.docusign.net
您也可以使用浏览器directly access a method in the API server that provides information on the API service points.
如果有效则您知道问题出在您的API代码中。 如果是这样,请先尝试其中一个API recipes。
如果您无法访问Web服务,请检查防火墙设置。