2014-09-05 129 views
0

嘿傢伙即時嘗試使用捲曲打印一個API。但到目前爲止,我還無法讓它工作。也許你們可以幫助我。該網站使用API​​用戶和通過兩者都可以在我到目前爲止的代碼中查看。這是什麼做的是它得到了$ original_url,給了我們基於這是template_id預覽20016.你可以在這裏閱讀文檔https://support.dudamobile.com/API/API-Use-Cases/Multiscreen-White-Label-SetupPHP捲曲不起作用

$original_url = "http://rsportugal.org/index.html"; 
$data = array("template_id"=>"20016","url"=>$original_url);  
$data = json_encode($data); 

define("API_USER","..."); 
define("API_PASS","..."); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_URL, 'https://api.dudamobile.com/api/sites/multiscreen/templates'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERPWD, API_USER.':'.API_PASS); 
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt($ch, CURLOPT_TIMEOUT, 10); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");  

$output = curl_exec($ch); 

if(curl_errno($ch)) { 
    die('Curl error: ' . curl_error($ch)); 
} 
$output = json_decode($output); 

curl_close($ch); 

return $output->site_name; 

希望你們能幫助我

+1

問題是什麼?它不工作***如何***?什麼返回?預計什麼? – 2014-09-05 11:06:50

+0

您的suppost在移動版本中獲取$原始網址的預覽。繼承人文檔https://support.dudamobile.com/API/API-Use-Cases/Multiscreen-White-Label-Setup – 2014-09-05 11:08:07

+0

嘗試打印出沒有JSON解碼。可能是JSON格式不正確。此外,您可能會發現使用此CURL包裝器更容易:http://semlabs.co.uk/journal/object-oriented-curl-class-with-multi-threading – 2014-09-05 11:11:41

回答

2

看來你想在不支持POST的網址上執行http POST。

如果你想獲得20016模板數據,你必須這樣做:

$templateId = 20016; 

define("API_USER","..."); 
define("API_PASS","..."); 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_URL, 'https://api.dudamobile.com/api/sites/multiscreen/templates/' . $templateId); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERPWD, API_USER.':'.API_PASS); 
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt($ch, CURLOPT_TIMEOUT, 10); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
curl_setopt($ch, CURLOPT_POST, count($data)); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");  

$output = curl_exec($ch); 

if(curl_errno($ch)) { 
    die('Curl error: ' . curl_error($ch)); 
} 
$output = json_decode($output); 

print_r($output); 

curl_close($ch); 

完整的API文檔在這裏=>Duda mobile api Doc

+0

真棒你是對的。不能感謝你enouf先生 – 2014-09-05 11:25:47

+0

@Paul Giragossian謝謝你的建議。 – 2018-01-31 08:45:45