Trelloには、Web上のアプリケーションとして利用するだけでなく、
APIとして、プログラムインターフェースから利用することも可能です。
Trelloに用意されているAPIは豊富にあるため、
ほとんどの機能をAPIから利用することができます。
ここでは、ボードリストの取得から、カードの起票までのサンプルを記載いたします。
準備
アクセスキーの取得
APIを利用するには、アクセスキーとトークンの取得が必要となります。
このアクセスキーとトークンは、IDやパスワードの代わりになるものとなります。
これらをまず取得します。
最初に、Trelloにログインします。
ログイン状態のまま、下記のURLにアクセスします。
(ブラウザの別タブでアクセスした方が良いです)
1 |
https://trello.com/1/appKey/generate |
アクセスすると、下記のような画面が表示されて、
画面内に、アクセスキーが記載されているので、これをメモしておきます。
アクセストークンの取得
取得したキーを利用して、下記のURLにアクセスし、API利用の認証を行います。
1 |
https://trello.com/1/authorize?key=(上記で取得したキー)&name=&expiration=never&response_type=token&scope=read,write |
アクセスすると、下記のような画面が表示されるので、「Allow」をクリックします。
「Allow」をクリックすると、下記のようにアクセストークンが表示されます。
これもメモしておきましょう。
上記の流れで取得した、アクセスキーとトークンを利用して、
APIを発行してTrelloにカード起票などを行ないます。
今後、APIを利用する際に、必ず必要になるものなので、
忘れないように管理しておきましょう。
以上で、TrelloにAPIを発行する準備が完了となります。
カードの起票方法
ボードとリストは下記のような状態です。
ボード一覧を取得
1 |
curl "https://trello.com/1/members/me/boards?key=9075149440c6ce5454564554d&token=c6d6c23b2a7a400594f3ddf03000ba61de5454564788dfdsf47e&fields=name" | jq . |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[hoge@test ~]$ curl "https://trello.com/1/members/me/boards?key=9075149440c6ce5454564554d&token=c6d6c23b2a7a400594f3ddf03000ba61de5454564788dfdsf47e&fields=name" | jq . % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 184 100 184 0 0 366 0 --:--:-- --:--:-- --:--:-- 365 [ { "name": "Trelloへようこそ!", "id": "5f3894464546451f9a771d56" }, { "name": "個人スケジュール", "id": "5f3b3268456456445f962d02" } ] |
ボードは2つあることが分かりました。
今回は、「Trelloへようこそ!」のボードを利用します。
ボードのIDは「5f3894464546451f9a771d56」だと分かりました。
ボードのリスト一覧を取得
ボードのIDをURLに埋め込んでそのボードにあるリストの一覧を取得します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[hoge@test ~]$ curl "https://trello.com/1/boards/5f3b31b80505881f9a771d56/lists?key=9075149440c6ce5454564554d&token=c6d6c23b2a7a400594f3ddf03000ba61de5454564788dfdsf47e&fields=name" | jq . % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 166 100 166 0 0 30 0 0:00:05 0:00:05 --:--:-- 39 [ { "id": "5f3b3454565446542adc46b7", "name": "するべきこと" }, { "id": "5f3b31b9f54645654567242b", "name": "作業中" }, { "id": "5f3b31b81231056456455993", "name": "完了" } ] |
「するべきこと」リストのIDは「5f3b3454565446542adc46b7」だとと分かりました。
メンバのIDを取得
カードには担当者を示すメンバを登録できます。
ボードに居るメンバの一覧を取得し、IDを調べます。
1 2 3 4 5 6 7 8 9 10 11 |
[hoge@test ~]$ curl "https://trello.com/1/boards/5f3b31b80505881f9a771d56/members?key=9075149440c6ce5454564554d&token=c6d6c23b2a7a400594f3ddf03000ba61de5454564788dfdsf47e" | jq . % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 87 100 87 0 0 175 0 --:--:-- --:--:-- --:--:-- 175 [ { "id": "5f3b31a98456456df5e7d1", "username": "user1566556", "fullName": "山田太郎" } ] |
登録するサンプルプログラム
APIでPOSTできるば良いので、今回はCakePHPでAPIを利用してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$http = new Client(); $response = $http->post('https://trello.com/1/cards/', [ 'key' => '9075149440c6ce5454564554d', 'token' => 'c6d6c23b2a7a400594f3ddf03000ba61de5454564788dfdsf47e', 'idList' => '5f3b31b8e92a0d862adc46b7', 'name' => 'APIから登録', 'desc' => '登録は成功したようです', ], [ 'headers' => [ 'Content-Type' => 'application/x-www-form-urlencoded', ], ]); return $response->getJson(); |
実行して、Web上で確認してみます。
無地にカードが起票されました。
まとめ
上記のサンプルのとおり、TrelloのAPIを利用するには、非常に簡単です。
Trello APIには、Trelloを操作するためのメソッドが一通り揃っていて、利用方法もシンプルです。
Trelloと連携するシステムを構築する際にも、非常に役立つと思います。
機会があれば、ぜひ、試してみてはいかがでしょうか。
公式サイト (Trello Developer)
こちらの記事もオススメ
こちらの記事もお薦めです。
是非、参考にしてみて下さい。