如何将数据发布到Asana而不是GET?

时间:2012-04-30 10:09:18

标签: php curl asana

我在PHP中使用cURL来访问Asana API。

我很高兴将我的值添加到网址作为GET,但现在,随着我的应用变得越来越大,我发布了越来越多的数据,所以我一直试图将其转换为交。

到目前为止,我已经尝试过了:

setting post['data'] to a json object {key:value,key:value}
setting post['data'] to a json object {options:{key:value,key:value}}
setting post['data'] to a json object {data:{options:{key:value,key:value}}}
setting post['data'] to a json object {data:{key:value,key:value}}
setting post['body'] to all of the above json objects

到目前为止,对于我的方法,我最终得到了错误:

Could not parse request data, invalid JSON

使用cURL,当然,我这样做:

$post = json_encode($myFields);
curl_setopt(CURLOPT_POSTFIELDS,array('data'=>$post));

对于所有这些测试,我输出JSON并使用JSLint验证它。它是非常有效的JSON,所以问题肯定不是这样。我只需要知道为什么它无效。

我无法让它发挥作用。谢谢你的帮助 - 丹尼尔。

2 个答案:

答案 0 :(得分:3)

我为Asana API制作了一个PHP类包装器。你可以在这里抓住它:https://github.com/ajimix/asana-api-php-class

答案 1 :(得分:0)

尝试使用JSON编码所有数组,而不仅仅是“数据”部分:

$post = json_encode(array('data' => $myFields));
curl_setopt(CURLOPT_POSTFIELDS, $post);