Asana API - 在任务创建期间添加 due_on
Asana API - Adding a due_on during task creation
我试图在使用 Asana API 创建任务期间添加一个 due_on 日期,但每次它都会发出服务器 500 错误和一条随机的、有点幽默的消息。这是尝试添加具有 due_on 或 due_at 值的任务时 api 响应的示例。
stdClass Object ( [errors] => Array ( [0] => stdClass Object (
[message] => Server Error [phrase] => 22 tough cobras kneel kindly ) )
)
这些日期功能有什么问题吗?也许我使用的 'YYYY-MM-DD' 格式(来自 api 文档)不正确?当我删除这个字段时,我在创建任务时没有任何问题,这让我相信问题仅出在 due_on 和 due_at 字段上。如果我完全删除第 6 行,它将 return 成功。
这是吐出错误的代码示例:
$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);
感谢任何帮助,感谢高级
当 server errors occur on the Asana API 时,您收到的随机且幽默的错误消息是标准的。它应该是一个独特的字符串,允许我们追踪导致 500 的异常。
我查看了导致此问题的原因,我相信它与具体解析多部分表单字段中的日期有关。
如果您使用不同的 Content-Type
发送请求,application/json
或 application/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);
我试图在使用 Asana API 创建任务期间添加一个 due_on 日期,但每次它都会发出服务器 500 错误和一条随机的、有点幽默的消息。这是尝试添加具有 due_on 或 due_at 值的任务时 api 响应的示例。
stdClass Object ( [errors] => Array ( [0] => stdClass Object ( [message] => Server Error [phrase] => 22 tough cobras kneel kindly ) ) )
这些日期功能有什么问题吗?也许我使用的 'YYYY-MM-DD' 格式(来自 api 文档)不正确?当我删除这个字段时,我在创建任务时没有任何问题,这让我相信问题仅出在 due_on 和 due_at 字段上。如果我完全删除第 6 行,它将 return 成功。
这是吐出错误的代码示例:
$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);
感谢任何帮助,感谢高级
当 server errors occur on the Asana API 时,您收到的随机且幽默的错误消息是标准的。它应该是一个独特的字符串,允许我们追踪导致 500 的异常。
我查看了导致此问题的原因,我相信它与具体解析多部分表单字段中的日期有关。
如果您使用不同的 Content-Type
发送请求,application/json
或 application/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);