コンテンツまでスキップ
日本語 - 日本
  • 検索フィールドが空なので、候補はありません。

KibelaのWeb APIについて

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件のノートのタイトルを取得する

query ($id: ID!) {
 folder(id: $id) {
  descendantNotes(first: 10) {
   totalCount
   nodes {
     title
   }
  }
 }
}

よくある質問

Q)Kibela APIで特定のフォルダ配下の情報を取得したい場合にAPI用のフォルダidを調べるにはどうすればよいでしょうか。

A)APIでご利用いただくフォルダidはURLのものとは別なものとなっております。Kibela APIを使って調べられますので以下のコードを参考にしてください。

Kibelaのアカウントがあれば、 https://my.kibe.la/api/console からAPIを試せます。

query {
 folderFromPath (path: "https://●●●.kibe.la/folders/URL上のフォルダid") {
  id
 }
}

Q)Kibela APIで特定記事の情報を取得したい場合にAPI用のnote idを調べるにはどうすればよいでしょうか。

A)Kibela APIを使って調べられますので以下のコードを参考にしてください。

query {
 noteFromPath (path: ""https://●●●.kibe.la//notes/URL上のnote id)" {
  id
 }
}

Q)Kibela APIで特定グループの情報を取得したい場合にグループidを調べるにはどうすればよいでしょうか。

A)以下のコードを参考にしてください。件数はご調整ください。

query {
groups(first: 100) {
nodes {
id
name
}
}
}

合わせて読みたい

さらにKibela Web APIを知りたい場合、次の記事、プログラムをご確認ください。