Неверный заголовок HTTP «Content-Type» из API Dropbox

1

Когда я попробую простой запрос curl к API Dropbox (v2), я получаю эту ошибку:

Error in call to API function "users/get_current_account": Bad HTTP "Content-Type" header: "application/x-www-form-urlencoded". Expecting one of "application/json", "application/json; charset=utf-8", "text/plain; charset=dropbox-cors-hack".

Код PHP:

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_POST, true);       
curl_setopt($ch, CURLOPT_URL, "https://api.dropboxapi.com/2/users/get_current_account" );
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer " . $accessToken) );
echo curl_exec($ch);
curl_close($ch);     
Теги:
dropbox-api

1 ответ

0

CURLOPT_POST указывает тип содержимого (на application/x-www-form-urlencoded, на основе документации). Вместо этого можно сделать запрос POST с использованием опции CURLOPT_CUSTOMREQUEST.

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_URL, "https://api.dropboxapi.com/2/users/get_current_account" );
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer " . $accessToken) );
echo curl_exec($ch);
curl_close($ch);     

Ещё вопросы

Сообщество Overcoder
Наверх
Меню