ラック
Home > ブログ > 記事 > 2018年5月 > Trello APIなるもの

Trello APIなるもの

カテゴリ: Webサービス,Web自作,タスク管理

Trelloと他のサービスを連携できたりしないのか、と興味本位で調べたところ、「Trello API」なるものがあると分かって調査したので現時点でのまとめ。

調査する中で特に興味深かったのが、Github PagesとNuxt.js使ってブログとして表示したデモ。ここまでできれば、これからのタスクの一覧だけでなく消化したタスクの一覧を実績としても表示できないかな、と思いました。

他にも、LINEやらSlackやらと連携して通知するとか、APIが使えれば色々できそうな気がします。

使うまでの手順

ということで、Trello APIを使うまでの手順をメモ。

まず、Trelloにログインした状態でhttps://trello.com/1/appKey/generateにアクセスします。

開発者用の画面

すると上記ページが表示されるので、チェックボックスにチェックを入れて「APIキーを生成」ボタンをクリック。

APIキー発行画面

するとAPIキーが発行されるので、これを控えます。

シークレットトークン発行画面

同じページの下の方に「秘密」とありますが、こちらはシークレットトークン。こちらも控えます。

次に、https://trello.com/1/authorize?key=(取得したAPIKey)&name=(アプリケーションの名前(任意))&expiration=never&response_type=token&scope=read,writeにアクセスします。取得したAPIキーと、作成したいアプリケーションの名前はご自身のものと差し替えで。

アクセス許可画面

アクセスすると連携の許可を求めるページが表示されるので、「許可」のボタンをクリック。

アクセストークン発行画面

するとアクセストークンが表示されるので、これを控えます。

ここまでで

  • APIキー
  • シークレットトークン
  • アクセストークン

が入手できたので、これらを使ってAPIを叩けばOK。

テストアプリの作成

ちなみに、TrelloはOAuth1を使って認証を行っている(参考: Authorization)ようなので、クライアントサイドでの認証は不向き。ということでサーバサイドでの実装を考えます。

とりあえず手持ちの言語としてPHPを選択。Composerで良い感じのパッケージがないかPackagistで探すと、cdaguerre/php-trello-apiというのがあったので、これを使います。

まずプロジェクトディレクトリを作成し、直下でcomposer initを実行。


{
    "require": {
        "cdaguerre/php-trello-api": "^0.9.3"
    }
}

で必要なパッケージを記述して、composer require

vendor/以下に必要なパッケージがダウンロードされたら、試しにプロジェクトディレクトリ直下にtest.phpとか適当にphpファイルを作成。


<?php
include(__DIR__.'/vendor/autoload.php');

$api_key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; //実際に取得したAPIキーを記入
$access_token = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; //実際に取得したアクセストークンを記入

// cdaguerre/php-trello-api ライブラリの名前空間
use Trello\Client;
// APIクライアントのインスタンス作成
$client = new Client();
// APIキーとトークンで認証
$client->authenticate($api_key, $access_token, Client::AUTH_URL_CLIENT_ID);
// 自分のボード一覧を取得
// ※「ユーザーID」はログイン時のユーザーID。
$boards = $client->members()->boards()->all('xxxxxxx'); //実際のログインユーザーIDを記入
// 表示
var_dump($boards[0]);

これでそのユーザが所有しているボードとその状態など諸々の一覧が取得できればOK。

とりあえずここまで。

参考

Trello API

Trello APIを使ってみた系の記事

Trello APIの認証

php-trello-api

タグ: php,Trello

 



関連する記事一覧