この記事では、KibelaのデータにアクセスするためのWeb APIの使い方について簡単に解説します。
GraphQLの概要
Kibela Web APIはGraphQLとして提供されています。また、GraphQLの拡張仕様であるRelay GraphQL Server Specificationにも準拠しています。
GraphQLの大きな特徴として、必要なフィールドをクライアント側が明示的に記述する点が上げられます。
これによってサーバー側の実装をシンプルに保ちつつ、クライアント側の需要に合わせた結果を返せます。
実際に触ってみる
では、実際にKibela Web APIを触ってみましょう。
Kibelaのアカウントがあれば、 https://my.kibe.la/api/console からAPIを試せます。
Kibelaにログインした上で上記URLにアクセスすると、次の画面が表示されます。
左側のパネルにGraphQLのクエリが入力されています。
そして左上の再生ボタンをクリックすると、右側のパネルにクエリの実行結果が表示されます。
このコンソールでは、このようにクエリを対話的に試せます。クエリを試しに実行したい時に使いましょう。
また右端の「Docs」から、Kibela Web APIのドキュメントを読むこともできます。
サンプルコード
Kibela Web APIのイメージをつかみやすいように、いくつかサンプルコードをご紹介します。
▼公開日が新しい順に記事を3件取得するクエリ
{
notes(first: 3, orderBy: {field: PUBLISHED_AT, direction: DESC}) {
edges {
node {
title
}
}
}
}
▼自身が書いた記事の総数と、最新3件を取得するクエリ
{ currentUser { latestNotes(first: 3) { totalCount edges { node { title } } } } }
▼特定フォルダ下の記事を一括取得するクエリ。
特定のフォルダ内にあるノートの総数と、最初の10件のノートのタイトルを取得する
合わせて読みたい
さらにKibela Web APIを知りたい場合、次の記事、プログラムをご確認ください。
-
https://github.com/kibela/kibela-api-v1-document
- Kibela Web APIのより詳しい仕様が説明されています。
- Kibela Web APIを使ったプログラムを実装する場合はこちらを一読ください。
-
https://github.com/kibela/simple-kibela-importer, https://github.com/kibela/kibela-to-kibela
- どちらもKibela Web APIを使ってKibelaにデータをインポートするスクリプトです。
- Kibela Web APIを使った実際のプログラムとして参考にしてください。
-
「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ
- GraphQLの仕様、実装方法などについて平易に解説されています。