Skip to main content

· 2 min read
Shimba, Koji

ライブラリページや「記録する」ページに表示されているようなデータを取得することができるようになりました。

以下のクエリは、2021年秋アニメの中で自分が 見てる見たい にしている、

  • 作品情報
  • 視聴ステータス
  • 次の未視聴エピソード
  • 次の未視聴エピソードに紐付く放送予定
  • メモ

を取得します。

query {
viewer {
libraryEntries(
states: [WATCHING, WANNA_WATCH],
seasons: ["2021-autumn"]
) {
nodes {
work {
title
}
status {
state
}
nextEpisode {
number
}
nextProgram {
channel {
name
}
startedAt
}
note
}
}
}
}

このクエリを実行すると以下のようなレスポンスが返ってきます。

{
"data": {
"viewer": {
"libraryEntries": {
"nodes": [
{
"work": {
"title": "無職転生 ~異世界行ったら本気だす~ 第2部"
},
"status": {
"state": "WATCHING"
},
"nextEpisode": {
"number": 12
},
"nextProgram": {
"channel": {
"name": "TOKYO MX"
},
"startedAt": "2021-10-03T15:00:00Z"
},
"note": "おもしろい"
}
]
}
}
}
}

APIの詳細はGraphQL APIリファレンスをご参照ください。

ライブラリの情報が取得しやすくなったAnnictをよろしくお願いします。

· 2 min read
Shimba, Koji

久しぶりの更新です。

今まで docs.annict.com という主にREST APIについて書かれたドキュメントページと、 developers.annict.jp という主にGraphQL APIについて書かれたドキュメントページが二つ存在して微妙だったので、 developers.annict.com というドメインでAnnict Developersを作り直し、REST APIとGraphQL APIのドキュメントを集約するようにしました。

今のところ内容はほぼ変わっていないですが、REST APIのドキュメントはページ構成をエンドポイントベースではなくリソースベースに変えています。 docs.annict.com のサイドバーのリンクがめちゃくちゃになっていたので、それを整理した形になります。 (ホスティングしていたサービスのアップデートによりめちゃくちゃになり、そのまま放置してしまっていた…)

なお旧ページは新しいAnnict Developersにリダイレクトされるようにしています。

ちなみにAnnict Developersを最初に公開したときはVuePressを使って作っていたのですが、 初期バージョンを使ったまま放置しちゃっていたのと、最近はVueよりReactを使うことが多くなったので、 Docusaurus で作り直しています。

ソースコードは github.com/kiraka/annict-developers で公開しているので、 変なところなどがありましたらPull Requestを送って頂けるとありがたいです。

生まれ変わったAnnict Developersをよろしくお願いします。

· 2 min read
Shimba, Koji

Workオブジェクトに seriesList というシリーズ情報が取得できるフィールドを追加しました。以下のようなクエリで作品に紐づくシリーズ情報が取得できます。

{
viewer {
works(state: WATCHED, first: 5, orderBy: {field: SEASON, direction: DESC}) {
nodes {
title
seriesList {
edges {
node {
name
works(orderBy: { field: SEASON, direction: DESC }) {
edges {
summary
node {
title
seasonYear
seasonName
}
}
}
}
}
}
}
}
}
}
{
"data": {
"viewer": {
"works": {
"nodes": [
{
"title": "劇場版 幼女戦記",
"seriesList": {
"edges": [
{
"node": {
"name": "幼女戦記",
"works": {
"edges": [
{
"summary": "劇場版",
"node": {
"title": "劇場版 幼女戦記",
"seasonYear": 2019,
"seasonName": "WINTER"
}
},
{
"summary": "TVシリーズ",
"node": {
"title": "幼女戦記",
"seasonYear": 2017,
"seasonName": "WINTER"
}
}
]
}
}
}
]
}
},
...

GraphQL APIの詳細はリファレンスからご参照ください。

じわじわとAPIから取得できるデータが増えているAnnictをよろしくお願いします。

· One min read
Shimba, Koji

なぜ今まで取得できなかったという感じですが、作品情報を取得するときに「しょぼいカレンダー」のタイトルID (TID) を返すようにしました。REST APIでは syobocal_tid で、GraphQL APIでは syobocalTid というプロパティ名で取得できます。

REST APIの詳細はAnnict Docsを、GraphQL APIの詳細はリファレンスからご参照ください。

しょぼいカレンダーと連携しやすくなった気がするAnnictをよろしくお願いします。

· One min read
Shimba, Koji

Annict APIに下記データが取得できるエンドポイントを追加しました。

  1. 人物 (Person)
  2. 団体 (Organization)
  3. シリーズ (Series)
  4. キャラクター (Character)
  5. キャスト (Cast)
  6. スタッフ (Staff)

REST APIとGraphQL APIどちらからもデータが取得できるようになっています。 REST APIの詳細はAnnict Docsを、GraphQL APIの詳細はGraphQL APIリファレンスからご参照ください。

色んなデータが取得できるようになったAnnictをよろしくお願いします。

· 2 min read
Shimba, Koji

Annict Developersというサイトを公開しました。主なコンテンツはGraphQL APIのドキュメントとこのブログになります。

今までは GitBook を使用して Annict Docs というドキュメントサイトを公開していました。 REST APIのドキュメントだけを公開していたときは良かったのですが、GraphQL APIのドキュメントを追加したときサイドバーの構成が中々見づらくなりました。また、GraphQL APIのリファレンスを手動で更新するという厳しい管理体制でした。

Annict DevelopersでもGraphQL APIリファレンスを公開していますが、今回から graphql-docs を使用してソースコードから自動生成するようにしました。まだフィールドの説明文が無かったりするので、これから少しずつ更新していきたいと思います。GraphQL APIのドキュメントをここで公開し始めたので、Annict DocsからはGraphQL APIのドキュメントを削除しています。

また、Annict Developersの公開に伴い開発者向けのTwitterアカウントも用意しました。 今後開発者向けの情報は↓のTwitterアカウントやこのブログでお知らせしようかと思います。

twitter.com/AnnictDevJP

Annict Developersは VuePress で作成しています。ソースコードは github.com/annict/developers-jp で公開しているので、ドキュメントなどに不備等あったときはプルリクエストを頂けるとありがたいです。

開発者向けの情報が取得しやすくなったような気がするAnnictをよろしくお願いします。