2016-04-11 58 views
0

我正在使用此服务online-convert试图做一个简单的电话,如在线转换示例。然而,他们没有实际的代码的例子,所以我有点在黑暗中。 online-convert docs呼叫在线转换休息api

我有那么远,这是我最好的猜测在通话应该是什么样子:

<?php 
$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, "http://api2.online-convert.com/jobs"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($ch, CURLOPT_HEADER, FALSE); 

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Host: https://api2.online-convert.com", 
    "X-Oc-Api-Key: <my api key>", 
    "Content-Type: application/json" 
)); 

$response = curl_exec($ch); 
curl_close($ch); 

var_dump($response); 

任何帮助将不胜感激。

回答

0

他们正在使用REST API来转换文件。这是一个例子。

首先创建一个带有链接的json文件,您可以在其中下载要转换的文件(上传的处理方式不同)。还要添加您想要转换的格式。将其另存为test.json。

{ 
    "input": [{ 
     "type": "remote", 
     "source": "https://www.wikipedia.org/portal/wikipedia.org/assets/img/Wikipedia-logo-v2.png" 
    }], 
     "conversion": [{ 
     "category": "image", 
     "target": "png" 
    }] 
} 

然后使用curl将此文件发送到online-convert.com的API。添加您的API密钥下面的脚本,并将其保存为在同一目录start.php您保存test.json:

<?php 
    $curl = curl_init(); 

    curl_setopt_array($curl, array(
     CURLOPT_URL => "https://api2.online-convert.com/jobs", 
     CURLOPT_RETURNTRANSFER => true, 
     CURLOPT_POSTFIELDS => file_get_contents('test.json'), 
     CURLOPT_HTTPHEADER => array(
      "content-type: application/json", 
      "x-oc-api-key: <your API key here>" 
      ), 
     ) 
    ); 

    $response = curl_exec($curl); 
    $err = curl_error($curl); 

    curl_close($curl); 

    if ($err) { 
     echo "cURL Error #:" . $err; 
    } else { 
     echo $response; 
    } 
?> 

执行命令行上的PHP文件,

php save.php 

您也可以使用网页浏览器调用脚本。

成功发送作业并获得有效响应后,即可获取转换状态。为此,您需要执行start.php时在答案中得到的id(作业ID)。创建一个名为status.php的文件并执行它。

<?php 
    $curl = curl_init(); 
    curl_setopt_array($curl, array(
     CURLOPT_URL => "https://api2.online-convert.com/jobs/<your job id here>", 
     CURLOPT_RETURNTRANSFER => true, 
     CURLOPT_HTTPHEADER => array(
      "content-type: application/json", 
      "x-oc-api-key: <your API key here> 
      ), 
     ) 
    ); 

    $response = curl_exec($curl); 
    $err = curl_error($curl); 

    curl_close($curl); 

    if ($err) { 
     echo "cURL Error #:" . $err; 
    } else { 
     echo $response; 
    } 
?> 

在那里您会找到下载文件的URL。

API比这更强大。您可以上传要转换的文件,创建单个文件的多次转换(例如,使用一次API调用的不同分辨率的视频)并设置各种转换选项。