2

これに従って、PHP Curlを使用してtodoist APIでアイテムを追加しようとしています:

https://developer.todoist.com/?shell#add-an-item

このコードを引用します:

$ curl https://todoist.com/API/v6/sync -X POST \
    -d token=0123456789abcdef0123456789abcdef01234567 \
    -d commands='[{"type": "item_add", "temp_id": "43f7ed23-a038-46b5-b2c9-4abda9097ffa", "uuid": "997d4b43-55f1-48a9-9e66-de5785dfd69b", "args": {"content": "Task1", "project_id": 128501470}}]'

私はPHPでこれを試しています:

$args = '{"content": "Task1", "project_id":'.$project_id.'}';
    $url = "https://todoist.com/API/v6/sync";
    $post_data = array (
        "token" => $token,
        "type" => "item_add",
        "args" => $args,
    );

    $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 は何でしょうか?

4

2 に答える 2

3

CLI の例と PHP を比較します。

CLI

curl https://todoist.com/API/v6/sync -X POST \
  -d token=0123456789abcdef0123456789abcdef01234567 \
  -d commands='[{"type": "item_add", "temp_id": "43f7ed23-a038-46b5-b2c9-4abda9097ffa", "uuid": "997d4b43-55f1-48a9-9e66-de5785dfd69b", "args": {"content": "Task1", "project_id": 128501470}}]'

PHP

// ...
$post_data = array (
    "token" => $token,
    "type" => "item_add",   //<-- NOT PRESENT IN CLI EXAMPLE
    "args" => $args,        //<-- NOT PRESENT IN CLI EXAMPLE
);
//...

CLIPOSTの 2 つのデータ:-d token=...-d commands=.... ただし、PHP の投稿tokentypeおよびargs. cli リクエストのように PHP リクエストを作成するだけです。

// ...
$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.'}}]',
);
//...
于 2015-05-26T12:23:33.820 に答える