使用api为asana任务添加关注者

时间:2014-01-13 20:58:36

标签: php api task asana

我只是不知道为什么会失败。我有以下尝试向Asana添加任务:

$arrayOfIds = array("0123456789", "9876543210");
$followers = implode('", "', $arrayOfIds);

$newtask = $asana->createTask(array(
    "workspace" => $workspaceId,
    "name" => $name,
    "team" => $teamId,
    "assignee" => $assignee,
    "due_on" => $dueOn,
    "completed" => $completed,
    "completed_at" => $completedAt,
    //"followers" => array("0123456789")
    "followers" => array($followers)
));

当我手动输入用户ID时,它就可以正常工作,就像上面注释的代码一样,但是当我尝试使用数组时失败了。我收到以下错误:

尝试连接Asana时出错,响应代码:400

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

如果不确切知道$asana lib是如何实现的(链接?),我的猜测就是数组没有正确编码。如果通过url编码的post数据发送(而不是JSON),则数组应以逗号分隔。当followers[]=1&followers[]=2followers=1,2时,PHP可能会执行"followers" => implode(",", $arrayOfIds)之类的其他操作。

尝试执行{{1}}之类的操作,或检查库的代码以查看它如何编码数组。此外,包括实际的 HTTP请求/响应将有助于弄清楚发生了什么。有很多方法可以实现这一点 - 您的库可能包含详细/调试模式,但如果所有其他方法都失败,您可以随时使用Charles Proxy,Wireshark,Ettercap等等。