Бывают задачи которые нужно повторять каждый день, поэтому логично добавлять их автоматически.
Решил воспользоваться готовой библиотекой, а не писать руками с нуля, пора к такому привыкать :-)
Бегло просмотрел https://trello.readme.io/docs/api-introduction
Получил ключ: https://trello.com/app-key
Потом авторизовал приложение и получил токен
Ссылка Generate a Token
Посмотрев
несколько библиотек
выбрал
trello/trello
Код:
<?
error_reporting(E_ALL);
ini_set('display_errors', 'On');
require_once('vendor/autoload.php');
$api_key = 'XXX48fc7830963635215f540ed2a0XXX';
$returned_token = 'XXXbc03c957c309450ce780756496a17fc6525155e1c24bffc10044c718b3XXX';
$client = new \Trello\Client($api_key);
$client->setAccessToken($returned_token);
$board_id = 'EWFeFLJr';
$board = $client->getBoard($board_id);
$card_id = '1';
$card = $board->getCard($card_id);
echo $card->name . '<br />';
$card->name = $card->name . '-1';
$card->save();
$list_id = 'XXX12cd6287d1cf84934eXXX';
$card = new \Trello\Model\Card($client);
$card->name = 'some card name';
$card->desc = 'some card desc';
$card->idList = $list_id;
$card->save();
echo '<pre>';
print_r($card);
echo '</pre>';
$api_key и $returned_token - получил из первых пунктов этой заметки.
$board_id - получил из ссылки в браузере:
$card_id - так, тут немного сложнее, получил из части ссылки на карточку:
$list_id - открываем инструмент отладки браузера, переключаемся я на вкладку "сеть", добавляем карточку, фильтруем xhr запросы и в параметрах смотрим idList
Старый вариант, когда не смог вытащить его руками, использовал код:
...
$card_id = '1';
$card = $board->getCard($card_id);
echo '<pre>';
print_r($card);
echo '</pre>';
- как видно на скиншоте, там и у Доски и у Листа, есть более нормальные ID
Ошибки:
При использовании пакета из консоли, проблем не было, но из под веб сервера получил:
curl_setopt_array(): CURLOPT_FOLLOWLOCATION cannot be activated when an open_basedir
Дело в том, что использовать CURLOPT_FOLLOWLOCATION не безопасно, т.к. редирект может быть, например, на file:///etc/passwd.
В интернете много предложений отключить safe_mode и open_base_dir
Меня это не устроило, поэтому я просто отключил эту опцию при вызове API. В фале /vendor/trello/trello/Trello/Client.php закомментировал CURLOPT_FOLLOWLOCATION => true