さて、前回に引き続きBacklogの紹介です。
backlogの基本的な機能や個人的に好きな親子課題の使い方を前回解説してきました。backlog自体をまだ利用していない方は30日間無料で使えるので、そちらも試してみてください。そもそもアカウント無いと今回解説するAPIの解説の意味がないので。。というかこの記事をググって見つけた方はすでにアカウントあるとは思いますが。
今回はbacklogのAPI利用についてみていきたいと思います。
Backlog API:認証・認可方法
まずAPIを使うためには認証・認可をパスしないと始まりません。OAuth苦手な方もノンプロには多いかと思います。わかるような・わからないような、っていいながら、APIドキュメントに書かれていることを、踏襲してなんとかつなげているというケースも多いと思います。
GASでOAuthをパスするために必要なライブラリの紹介を以下でしていますので、一応参考にみてみてください。
backlog 提供されている認証・認可の方法
では、今回利用しようとしているBacklogではどのような認証・認可の方法が提供されているかをみていきます。
以下の2つの方法が提供されています。
一般的なOAuth 2.0が提供されているのは、もちろんですが、なんとAPI Keyもあります(セキュリティ的には喜んでいいのかどうかは謎ですが、ノンプロ的にはわかりやすくていいですよね汗)
詳細は以下のページで確認できます。

今回は誰でも理解しやすいAPI Keyの方を紹介していきます。慣れてる人はセキュリティの観点から、OAuth 2.0使ってもらうことをお勧めします。
API KeyでAPIを利用する方法
概念的なAPI Keyの理解を少し先に説明してから、Backlog API Keyの取得方法・使い方を解説していきたいと思います。
概念理解:API Keyでの認証とは?
API Keyは基本的にプロジェクトを識別して、プロジェクトでAPI(及びそのKey)が有効になっていることを検証して、APIを利用可能とするスキームです。
API Keyが提供する役割
プロジェクトの識別:プロジェクトがどれかを判断する機能。当該 API の呼び出し元アプリケーションまたはプロジェクトを識別する
プロジェクトの承認:プロジェクトがAPIを利用していいかを判断する機能。当該 API を呼び出すためのアクセス権が呼び出し元アプリケーションに付与されていることと、そのアプリケーションのプロジェクト内で API が有効になっていることを確認する
要は、①プロジェクトがどれか②そのプロジェクトがAPIを叩いていいか、の2点を1つのkeyのなかに情報を入れて検証するスキームです。
話だけ聞くと十分これで大丈夫そうって思いませんか?でも、実は以下のような問題もはらんでいます。
API Keyのセキュリティ
私も含めノンプロだととりあえず、実行や実装が楽な方を選びがちで、別に多くのケースではそれでも問題ないです。ただ、ユーザ側が使うのが楽だからと言って、セキュリティ的にそれが万全か?と言われればそうでもないのも事実です。
API Keyにおけるセキュリティ上の懸念事項も一応把握しておきましょう。そもそもAPI Keyによる認証認可は実は安全とは見做されないケースが多いんです。。
クライアントアクセスの問題:API Keyはクライアントからアクセス可能で、API キーが簡単に盗まれる可能性がある
Keyの有効期限の問題:API Keyには有効期限がないため、プロジェクト オーナーがキーを取り消すか、再生成しない限り、盗まれたキーが無期限に使用される可能性がある
盗まれる可能性があって、盗まれても有効期限がないから、自分で気づかない限り使われ続けるというものです。
API KeyでAPIを叩く方法
では、一応リスク情報を提供した上で、Backlog API Keyを取得して、利用する方法を紹介します。
Backlog API keyの取得方法
まずはBacklogにログインしてもらって、ダッシュボードにいる前提で話をします。
- Step1ダッシュボードから個人設定に移動
ダッシュボードなどで、ユーザアイコンをクリックして、個人設定へ移動
- Step2個人設定でAPIタブを選択
個人設定画面に移動したのち、APIタブを選択
- Step3【新しいAPIキーを発行】の画面で、メモ欄に利用用途を記入して登録
登録クリック後、画面下にAPI Keyが表示されるのを確認
さて、では上記の流れで、画面スクショを貼っていきます。
【Step1】

【Step2】

【Step3】

表示されているAPI Keyが有効なAPI Keyとして機能しているものを意味しています。
API Keyを利用したAPIの叩き方
backlogでAPI Keyが取得できれば、次はAPIを実際に叩くだけです。ここではBacklogにおけるAPI Endopointの構造を紹介していきます。

APIエンドポイントはドメイン部分(プロジェクトの名前)とAPIの種類で作成されます。
また、API Keyはクエリでセットするので、エンドポイントの後に”?”マークをつけてapiKey(Kだけ大文字!!)として先ほど入手したAPI keyを付与します。
このURIが作れたらあとは、GASならurlfetchで、pythonならrequestなどでURLを叩きに行けばOKです。
成功した場合、json形式でデータが返されます。レスポンスヘッダはこんな感じ。
HTTP/1.1 200 OK
Content-Type:application/json;charset=utf-8
まとめ
今回は、【個人的に大好きなBacklogの紹介〜APIを利用して課題一覧を取得する方法(1)〜】として、Backlog API利用の前段で必要となるAPI keyの取得方法を紹介してきました。
課題一覧については、CSVで吐き出すことも可能ですが、API経由で簡単に取得できるので、個人的にはAPIでの対応にしています。
登録については、スプレッドシートのアドオンが提供されていますので、そちらを使うと楽かと思います。
次回以降で、実際にGASでAPIを叩いていきます。よく利用するAPIなどの説明もしていければと思います。では、また。
参考:backlogの始め方
とりあえず試してみたい方は30日間無料でトライアルできますので、試しに触ってみるのもありだと思います。何はともあれ触ってみるのが一番自分にしっくりくるかわかりやすいものです。