ことさら−古都プログラマーの更級日記

京都でお寺を回りながら御朱印集めをしていたり、LoLをしたり試合を見に行ったりしているエンジニアのブログです。技術的なはなしとか日常的なはなし、カメラやLoLや競馬の話も書きます。右メニューに検索やらカテゴリーやらがあるので、見たい記事だけ見てね!

Trello API を JavaScript(node.js)から叩く

もくじ

なにをするの?

昨日の記事でAPI KeyとTokenを手に入れたので今回はJSから実際に叩きたい。

HTTPリクエス

axiosを使う。

github.com

www.npmjs.com

package.json にて

...
  "dependencies": {
    ...
    "axios": "0.18.0",
    ...
  }
...

適当に debug.js を作成

let axios = require('axios');

let key = 'ひみつの api key';
let token = 'ひみつの api token';

let boardId = 'なんか適当なboard Id';

let client = axios.create({
  baseURL: 'https://api.trello.com'
});

let path = `/1/boards/${boardId}/cards`;
console.log(path);

client.get(path, {
  params: {
    key: key,
    token: token,
  }
}).then((response) => {
  console.log(response);
}).catch((error) => {
  console.log("api error");
  console.log(error);
});
  • boardId は、前回の記事でも叩いた https://api.trello.com/1/members/me/boardsAPIで手に入れることができる。

レスポンスの中身をもっとちゃんと見てみる

こんなかんじ

.then((response) => {
  // 1枚目のカードについて見る
  console.log(response.data[0]);
})
.then((response) => {
  // 各カードのタイトルを取ってくる
  for(let card of response.data) {
    console.log(card.name);
  }
})

とりあえず秘匿情報を隠してコードをコミットできるように

dotenvを使う。

package.json にて

...
  "dependencies": {
    ...
    "dotenv": "6.0.0",
    ...
  }
...

yarnを使っているので yarn install

さらに .env ファイルをpackage.jsonと同じディレクトリに作成。中身

...
TRELLO_KEY=XXXXXXXXXX
TRELLO_TOKEN=XXXXXXXXXX

こんなかんじにして

require('dotenv').config()

let key = process.env.TRELLO_KEY;
let token = process.env.TRELLO_TOKEN;

こんなかんじ。これでコードをコミットしても問題ない。

次回

  • class化
  • 秘匿情報どうするか
  • この辺のやつをつかっていい感じにcardを取得するようにする
Important Methods

GET /1/members/me/boards - Get an array of the Boards of a user
GET /1/boards/[board_id]/cards - Get an array of Cards on a board
GET /1/boards/[board_id]/lists - Get an array of Lists on a board

参考