API Trello: получить участников, вложения и информацию о карте за один звонок?

Я могу получить данные из API Trello, используя это:

private function get_card_info($card_id) {
$client =         new \GuzzleHttp\Client();
$base =           $this->endpoint . $card_id;
$params =         "?key=" . $this->api_key . "&token=" . $this->token;
$cardURL =        $base . $params;
$membersURL =     $base . "/members" . $params;
$attachmentsURL = $base . "/attachments" . $params;

$response = $client->get($cardURL);
$this->card_info['card'] = json_decode($response->getBody()->getContents());

$response = $client->get($membersURL);
$this->card_info['members'] = json_decode($response->getBody()->getContents());

$response = $client->get($attachmentsURL);
$this->card_info['attachments'] = json_decode($response->getBody()->getContents());
}

Тем не менее, это разбито на три вызова. Есть ли способ получить информацию о карте, информацию об участнике и вложения в одном вызове? документы упомянуть использование &fields=name,id, но это только кажется, что ограничивает то, что возвращается из базового вызова в cards конечная точка.

Абсурдно использовать 3 раза каждый раз, когда мне нужна информация о карте, но я не могу найти примеров, собирающих все, что нужно.

6

Решение

Попробуйте использовать API со следующими параметрами:

/cards/[id]?fields=name,idList&members=true&member_fields=all&& attachments=true&&attachment_fields=all

5

Другие решения

Трелло ответил мне и заявил, что они ответили бы так же, как и Владимир. Однако, единственный ответ, который я получил от этого, был начальными данными карты, без вложений и участников. Тем не менее, они также направили меня к этот блог это охватывает пакетные запросы. Они, очевидно, удалили его из документов из-за путаницы, которую он создал.

Чтобы суммировать изменения, вы по существу звоните /batchи добавить urls GET параметр с разделенным запятыми списком конечных точек для нажатия. Рабочая окончательная версия в итоге выглядела так:

private function get_card_info($card_id) {
$client =         new \GuzzleHttp\Client();
$params =         "&key=" . $this->api_key . "&token=" . $this->token;

$cardURL = "/cards/" . $card_id;
$members = "/cards/" . $card_id . "/members";
$attachmentsURL = "/cards/" . $card_id . "/attachments";

$urls = $this->endpoint . implode(',', [$cardURL, $members, $attachmentsURL]) . $params;

$response = $client->get($urls);
$this->card = json_decode($response->getBody()->getContents(), true);
}
4

По вопросам рекламы [email protected]