我在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,所以问题肯定不是这样。我只需要知道为什么它无效。
我无法让它发挥作用。谢谢你的帮助 - 丹尼尔。
答案 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);