API Wunderlist с Guzzle - Создать задачу - Неверный запрос 400 - PullRequest
0 голосов
/ 06 сентября 2018

Я испытываю API Wunderlist и следую этому полезному учебнику . Они также предоставляют демоверсию на Github . Он прекрасно работает с вызовами GET (и PATCH), но когда я пытаюсь создать новую задачу с помощью запроса POST, он возвращает неверный запрос, ошибка клиента: 400.

WunderlistClient.php

public function createTask($name, $list_id, $task = []) {
    if (!is_numeric($list_id)) {
        throw new \InvalidArgumentException('The list id must be numeric.');
    }
    $task['name'] = $name;
    $task['list_id'] = $list_id;
    $response = $this->client->post('tasks', ['body' => json_encode($task)]);
    $this->checkResponseStatusCode($response, 201);
    return json_decode($response->getBody());
}

index.php

try {
    $created = $wunderlist->createTask('New Task', $list_id);
    dump($created);
}
catch(\Exception $exception) {
    dump($exception);
}

Я добавил функцию createList, которая требует только заголовок, и это сработало.

public function createList($title, $list = []) {
    $list['title'] = $title;
    $response = $this->client->post('lists', ['body' => json_encode($list)]);
    $this->checkResponseStatusCode($response, 201);
    return json_decode($response->getBody());
}

Почему я не могу создать задач ?

1 Ответ

0 голосов
/ 06 сентября 2018

Мне просто нужно было сменить «имя» на «название».

public function createTask($title, $list_id, $task = []) {
    if (!is_numeric($list_id)) {
        throw new \InvalidArgumentException('The list id must be numeric.');
    }
    $task['title'] = $title;
    $task['list_id'] = $list_id;
    $response = $this->client->post('tasks', ['body' => json_encode($task)]);
    $this->checkResponseStatusCode($response, 201);
    return json_decode($response->getBody());
}
...