2013-08-19 3 views
0

Опытный пользователь пытается с успехом добавить вложение в задачу с помощью cURL/PHP.Asana API Добавление вложения через cURL/PHP

$data = array("file" => "@$filename"); 
$headers = array("Authorization: Basic " . base64_encode($asana_api_key) . ":")); 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "https://app.asana.com/api/1.0/tasks/$task_id/attachments"); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_exec($ch); 

Пусть $ имя_файла, $ asana_api_key и $ TASK_ID установлены правильно. Должно быть довольно просто ... но по какой-то неизвестной причине, я получаю следующий ответ:

{"errors":[{"message":"Server Error","phrase":"19 snobby warthogs cheer busily"}]} 

Как ни странно, работает этот запрос с помощью завивки командной строки отлично работает. Я уже много часов переделывал это безрезультатно.

Любые идеи относительно того, что может быть проблемой?

+0

Кажется, что это происходит в ситуациях, когда переданное имя файла содержит косые черты, что довольно раздражает. Я сейчас изучаю это, не стоит начинать исправлять. – agnoster

ответ

0

Это была ошибка на нашем конце, и теперь она должна быть исправлена. Это связано с тем, как завиток посылал имя файла, а именно, как весь путь к файлу. Браузеры обычно отправляют только базовое имя (без каталога). Теперь мы применяем ту же логику, если получим полный путь для нашего локального имени, и похоже, что он работает, но ваш случай может быть другим.

Я, конечно же, буду признателен, если он сработает для вас сейчас.