Asana API - 在任务创建期间添加due_on

时间:2015-09-02 03:29:41

标签: php api curl asana

我正在尝试使用Asana API在任务创建期间添加due_on日期,并且每次它都会发出服务器500错误和随机,有点幽默的消息。以下是尝试添加时api响应的示例具有due_on或due_at值的任务。

  

stdClass对象([errors] =>数组([0] => stdClass对象(   [message] =>服务器错误[短语] => 22个坚韧的眼镜蛇跪下亲切))   )

这些日期功能有什么问题吗?也许' YYYY-MM-DD'格式我使用(来自api文档)是不正确的?当我删除这个字段时,我没有创建任务的问题,这让我相信问题只在于due_on和due_at字段。如果我完全删除第6行,它将返回成功。

以下是吐出错误的代码示例:

$post_data = array(
    'assignee' => $asana_user_id,
    'notes' => $task_notes,
    'followers[0]' => $asana_user_id,
    'name' => 'Test Task',
    'due_on' => '2015-09-03',
    'workspace' => $workspaceID,
    'projects' => $project_id
);

$curl = curl_init('https://app.asana.com/api/1.0/tasks');
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Authorization: Bearer '.$asanaApiToken
));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
$response = curl_exec($curl); // execute post to asana
print_r($response);

感谢任何帮助,谢谢先进

1 个答案:

答案 0 :(得分:1)

server errors occur on the Asana API时,您获得的随机和类型的幽默错误消息是标准的。它是一个唯一的字符串,允许我们追踪导致500的异常。

我看了一下导致这种情况的原因,我认为这与从多部分表单字段中解析日期有关。

如果您使用其他Content-Type application/jsonapplication/x-www-form-urlencoded发送请求,则应该没问题。

以下是使用application/json的示例:

$curl = curl_init('https://app.asana.com/api/1.0/tasks');

$data_string = json_encode(array(
        "data" => array(
            "workspace" => $workspace,
            "name" => $name,
            "assignee" => "me",
            "due_on" => "2015-09-03")
    )
);

curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_HTTPHEADER, array(
        'Authorization: Bearer '.$access_token,
        'Content-Type: application/json',
        'Content-Length: ' . strlen($data_string))
);

$response = curl_exec($curl);

print_r($response);