2016-03-29 31 views
1

dropboxREST API numarayı aramak için cURL kullanıyorum. İşte ben ne yapıyorum geçerli:PHP cURL içerik türü ayarlanmamış

$service_url = 'https://api.dropboxapi.com/2/files/create_folder'; 
$curl = curl_init(); 
$curl_post_data = array(
    'path' => '/ehsan/malik', 
); 
curl_setopt($curl, CURLOPT_URL, $service_url); 
curl_setopt($curl,CURLOPT_HTTPHEADER,array('Content-Type: application/json','Authorization: Bearer ********accesstoken*********')); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
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('<br>error occured during curl exec. Additioanl info: ' . var_export($info)); 
} 
curl_close($curl); 
$decoded = json_decode($curl_response); 
if (isset($decoded->response->status) && $decoded->response->status == 'ERROR') { 
    die('error occured: ' . $decoded->response->errormessage); 
} 
echo 'response ok!'; 
var_export($decoded->response); 

Ve komut dosyası çalıştırıldığında, bu ne $info returnes:

> array ('url' => 'https://api.dropboxapi.com/2/files/create_folder', 
> 'content_type' => NULL, 'http_code' => 0, 'header_size' => 0, 
> 'request_size' => 0, 'filetime' => -1, 'ssl_verify_result' => 1, 
> 'redirect_count' => 0, 'total_time' => 
> 0.717000000000000081712414612411521375179290771484375, 'namelookup_time' => 
> 0.12399999999999999911182158029987476766109466552734375, 'connect_time' => 
> 0.4210000000000000408562073062057606875896453857421875, 'pretransfer_time' => 0, 'size_upload' => 0, 'size_download' => 0, 
> 'speed_download' => 0, 'speed_upload' => 0, 'download_content_length' 
> => -1, 'upload_content_length' => -1, 'starttransfer_time' => 0, 'redirect_time' => 0, 'redirect_url' => '', 'primary_ip' => 
> '108.160.172.205', 'certinfo' => array (), 'primary_port' => 443, 
> 'local_ip' => '192.168.1.234', 'local_port' => 9306,) error occured 
> during curl exec. 

Ek bilgi: Burada

içerik türü error içinde null gösterdi ama arama yaparken application/json olmasını ayarlıyorum. Neyi kaçırıyorum? Nasıl doğru alınır? senin POST verilere JSONification çıkarmadan

+0

ölmeden 'kullanmalıdır doğru kıvırmak hatası almak için ('
hata bukle exec esnasında oluşan Additioanl bilgi:.'. Curl_error ($ curl));' – DarkBee

+0

Sen curl_error ($ curl) 'aramak zorunda' 'önce curl_close ($ curl) ' – Reversal

+0

tamam, ben yaptım ve bu hata:" curl_error(): 2, satır 21 üzerinde D: \ xampp \ htdocs \ centrify \ index.php içinde geçerli bir cURL tanıtıcı kaynak değil " – Saani

cevap

0

Dene:

curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data); 

ve 'Content-Type: application/json' başlığını çıkarın. CURL başlıklarını sizin için yönetsin.

+0

bunu denedi ancak aynı sonuçları verdi. içerik türü hala boş. – Saani