PHP Curl/Todoist/Adding Item

PHP Curl/Todoist/Adding Item,php,curl,todoist,Php,Curl,Todoist,我尝试使用PHP Curl添加一个带有todoist API的项,如下所示: 它引用了以下代码: $curlhttps://todoist.com/API/v6/sync -X柱\ -d令牌=0123456789abcdef0123456789abcdef01234567\ -d命令='[{“类型”:“项添加”,“临时id”:“43f7ed23-a038-46b5-b2c9-4abda9097ffa”,“uuid”:“997d4b43-55f1-48a9-9e66-de5785dfd69b”,

我尝试使用PHP Curl添加一个带有todoist API的项,如下所示:

它引用了以下代码:

$curlhttps://todoist.com/API/v6/sync -X柱\
-d令牌=0123456789abcdef0123456789abcdef01234567\
-d命令='[{“类型”:“项添加”,“临时id”:“43f7ed23-a038-46b5-b2c9-4abda9097ffa”,“uuid”:“997d4b43-55f1-48a9-9e66-de5785dfd69b”,“参数”:{“内容”:“任务1”,“项目id”:128501470}”
我正在用PHP尝试这一点:

$args='{“content”:“Task1”,“project_id”:“$project_id.”;
$url=”https://todoist.com/API/v6/sync";
$post_数据=数组(
“令牌”=>$token,
“类型”=>“项目添加”,
“args”=>$args,
);
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$URL);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
卷曲设置($ch,卷曲设置桩,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);
$output=curl\u exec($ch);
卷曲关闭($ch);
所以我有令牌,args,类型,但我似乎无法让它工作

该调用的PHP等价物是什么?

试试以下方法:

$url = "https://todoist.com/API/v6/sync";
$post_data = [
    'token' => $token,
    'commands' => 
        '[{"type": "item_add", ' .
        '"temp_id": "43f7ed23-a038-46b5-b2c9-4abda9097ffa", ' .
        '"uuid": "997d4b43-55f1-48a9-9e66-de5785dfd69b", ' . 
        '"args": {"content": "Task1", "project_id":'.$project_id.'}}]'
];

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

$output = curl_exec($ch);

curl_close($ch);

我还没有测试过它,但我很确定这是用PHP实现的等效curl命令。让我知道它是如何工作的。

比较CLI示例和您的PHP:

CLI
curlhttps://todoist.com/API/v6/sync -X柱\
-d令牌=0123456789abcdef0123456789abcdef01234567\
-d命令='[{“类型”:“项添加”,“临时id”:“43f7ed23-a038-46b5-b2c9-4abda9097ffa”,“uuid”:“997d4b43-55f1-48a9-9e66-de5785dfd69b”,“参数”:{“内容”:“任务1”,“项目id”:128501470}”
PHP
看起来您已经更改了正在发布的数据。从cli发布
令牌
命令
,但从php发布
令牌
类型
参数
。我猜你需要发布php中的
命令
json和
类型
参数
。CLI就是这个网站的例子,我该如何在php查询中发布它呢?非常感谢,我根本无法让它工作,但它似乎工作得很好!
// ...
$post_data = array (
    "token" => $token,
    "type" => "item_add",   //<-- NOT PRESENT IN CLI EXAMPLE
    "args" => $args,        //<-- NOT PRESENT IN CLI EXAMPLE
);
//...
// ...
$post_data = array (
    "token" => $token,
    "commands" => '[{"type": "item_add", "temp_id": "43f7ed23-a038-46b5-b2c9-4abda9097ffa", "uuid": "997d4b43-55f1-48a9-9e66-de5785dfd69b", "args": {"content": "Task1", "project_id": '.$project_id.'}}]',
);
//...