在我的 REST API 中调用 cloudconvert API
Calling cloudconvert API inside my REST API
我在我的 REST API(使用 SLIM 框架)中创建了一个测试函数来测试我对 cloudconvert API.[=15= 的包装器 class 的实现]
$app->get('/test', 'authenticate', function() use ($app) {
$response = array();
$converter = new CloudConverter();
$url = $converter->createProcess("docx","pdf");
$response["url"] = $url;
echoRespnse(201, $response);
});
我在 CloudConverter class 中的 createProcess 函数如下所示:
public function createProcess($input_format,$output_format)
{
$this->log->LogInfo("CreateProcess Called");
$headers = array('Content-type: application/json');
$curl_post_data = array('apikey' => API_KEY,'inputformat' => $input_format,'outputformat' => $output_format);
$curl = curl_init(CLOUD_CONVERT_HTTP);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($curl_post_data));
$curl_response = curl_exec($curl);
if ($curl_response === false)
{
$info = curl_getinfo($curl);
curl_close($curl);
die('error occured during curl exec. Additioanl info: ' . var_export($info));
$this->log->LogInfo('error occured during curl exec. Additioanl info: ' . var_export($info));
}
curl_close($curl);
$decoded = json_decode($curl_response,true);
return $decoded['url'];
}
我已经使用 Chrome Advanced Rest Client 测试了我的 API,我看到调用 cloudconvert API 的成功响应,但这不是我所期望的在上面的代码中可以看到。我希望在我的回复中提取 url 和 return。
我的问题是:
我如何从 cloudconvert 的响应中提取 url 和我自己的响应中的 return。
您需要使用
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true)
到 return 作为字符串的响应:curl docs.
我在我的 REST API(使用 SLIM 框架)中创建了一个测试函数来测试我对 cloudconvert API.[=15= 的包装器 class 的实现]
$app->get('/test', 'authenticate', function() use ($app) {
$response = array();
$converter = new CloudConverter();
$url = $converter->createProcess("docx","pdf");
$response["url"] = $url;
echoRespnse(201, $response);
});
我在 CloudConverter class 中的 createProcess 函数如下所示:
public function createProcess($input_format,$output_format)
{
$this->log->LogInfo("CreateProcess Called");
$headers = array('Content-type: application/json');
$curl_post_data = array('apikey' => API_KEY,'inputformat' => $input_format,'outputformat' => $output_format);
$curl = curl_init(CLOUD_CONVERT_HTTP);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($curl_post_data));
$curl_response = curl_exec($curl);
if ($curl_response === false)
{
$info = curl_getinfo($curl);
curl_close($curl);
die('error occured during curl exec. Additioanl info: ' . var_export($info));
$this->log->LogInfo('error occured during curl exec. Additioanl info: ' . var_export($info));
}
curl_close($curl);
$decoded = json_decode($curl_response,true);
return $decoded['url'];
}
我已经使用 Chrome Advanced Rest Client 测试了我的 API,我看到调用 cloudconvert API 的成功响应,但这不是我所期望的在上面的代码中可以看到。我希望在我的回复中提取 url 和 return。
我的问题是: 我如何从 cloudconvert 的响应中提取 url 和我自己的响应中的 return。
您需要使用
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true)
到 return 作为字符串的响应:curl docs.