Я опробовал 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());
}
Почему я не могу создать задачи?
Я просто должен был поменять «имя» на «название».
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());
}
Других решений пока нет …