「Trello API を叩いてカードを作成する」という基本的なことをしてみたかったので,原始的に curl を利用して流れを確認して手順にまとめました.
アクセスのための準備
API Key の取得
ここにアクセスします
すると Key: というボックスがあると思いますのでその値をコピーします.
API Token の取得
今回は,期限無制限でRead/Write権限のついたトークンを取得します.
下記のURLをブラウザで開きましょう
https://trello.com/1/authorize?key=<上で取得したKey>&name=&expiration=never&response_type=token&scope=read,write
するとこんな感じの画面が開かれるので Allow しましょう
Allow すると下記のようにシンプルなページが表示されるのでキーをコピーします.
You have granted access to your Trello information.
To complete the process, please give this token:
<ここにキーが表示される>
Trello のエンティティ関係
A ---> B
を AとBが1対多の関係としたときに次のようなエンティティ関係のようです.
Member ---> Board ---> List ---> Card
つまりカードを投稿するには,次の順で情報を取得していく必要があります.
- 投稿したい Board の ID を取得する
- 投稿したい List (Todo, Do, Done など) の ID を取得する
- Card を投稿する
1. Board の ID を取得する
curl "https://trello.com/1/members/<username>/boards?key=<Key>&token=<Token>"
で取得することができます.
しかしこれだけだと大量のデータに埋もれてIDを取得できないので,APIの機能にあるフィルタをかけてみましょう.
$ curl "https://trello.com/1/members/<username>/boards?key=<Key>&token=<Token>&fields=name"
返却値を整形して見ると
[
{
"name": "Welcome Board",
"id": "XXXXe2eaed887e7c007d46"
},
{
"name": "test",
"id": "XXXXc321d57991e7312a7d4"
}
]
てな感じで Board IDを取得できました.
2. List の ID を取得する
Board一覧と同様にListの一覧を取得しましょう.
$ curl "https://trello.com/1/boards/<BoardのID>/lists?key=<Key>&token=<Token>&fields=name"
結果はこんな感じです.あと一息!
[
{
"id": "XXXXXX57991e731XXXXX",
"name": "To Do"
},
{
"id": "XXXXXXd57991e73XXXXXXX",
"name": "Doing"
},
{
"id": "XXXXXXXX57991eXXXXX",
"name": "Done"
}
]
3. カードを投稿する
カードを投稿しましょう!カードは様々な値を含んで投稿することができます.
詳しくは,post-1-cards の仕様書を参照ください.
今回はシンプルにタイトルのみのカードを投稿します.
curl -X POST "https://trello.com/1/cards?key=<Key>&token=<Token>&idList=< 2. で取得したリストのうち投稿したいリストのID>&name=カードタイトル"
きちんと登録されていました.
おわりに
今回は,Trello の API の使用方法について調査しました.
Trello にはたくさんのAPIが用意されているようなので,いろいろ活用したいですね.