2014-09-05 3 views
0

Эй, ребята, я пытаюсь напечатать один api, используя завиток. но пока я не смог заставить его работать. возможно, вы, ребята, можете мне помочь. веб-сайт использует пользователя api, и оба они могут быть просмотрены в коде, который я сделал до сих пор. что это делает он получает $ original_url и дает нам предварительный просмотр на основе template_id, который 20016. Вы можете прочитать документацию здесь https://support.dudamobile.com/API/API-Use-Cases/Multiscreen-White-Label-SetupPHP curl не работает

$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

Что такое проблема? Это не работает *** как ***? Что возвращается? Что ожидается? –

+0

ваш suppost, чтобы получить предварительный просмотр исходного URL-адреса в мобильной версии. heres документацию https://support.dudamobile.com/API/API-Use-Cases/Multiscreen-White-Label-Setup –

+0

Попробуйте распечатать без декодирования JSON. Возможно, JSON искажен. Кроме того, вам может быть проще использовать эту оболочку CURL: http://semlabs.co.uk/journal/object-oriented-curl-class-with-multi-threading –

ответ

2

Кажется, что вы хотите сделать http POST на URL-адресе, который не поддерживает 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 sir –

+0

@Paul Giragossian Спасибо за предложение. –

Смежные вопросы