Annict API のクライアントライブラリ
https://crates.io/crates/libannict
- Rust 100%
| graphql | chore: update GraphQL schema | |
| src |
test: add test to check that Error is Send + Sync
|
|
| .gitignore | meta: ignote Cargo.lock for version control | |
| .woodpecker.yaml | chore: increase MSRV to 1.75.0 for RPITIT | |
| build.rs | chore: create graphql query/schema files | |
| Cargo.toml | release: v0.3.2 | |
| COPYING | chore: create graphql query/schema files | |
| LICENSE-APACHE | meta: add licenses | |
| LICENSE-MIT | meta: add licenses | |
| README.md |
refactor: redesign Annict client
|
|
libannict
Annict の Web API のクライアントライブラリ
本ライブラリの利用に必要な Rust の最低バージョン (MSRV): 1.75.0
コントリビューションを歓迎しております!プルリクエストを送る場合、先に issue を立てるようにお願いいたします 🙏
使用例
uselibannict::Annict;// クライアントを作成
letclient=Annict::new("access_token");作品を検索する
// 作品を検索
letworks=client.works().filter_title("ゼロの使い魔".to_owned()).search(10).await?;// 作品の情報を利用
forworkinworks{println!("{}",work.title);}エピソードを検索する
// エピソードを検索
letepisodes=client.episodes().filter_work_id(6077).search(20).await?;// エピソードの情報を利用
forepisodeinepisodes{println!("{:?}",episode.title);}自分が視聴状況をつけた作品を検索する
uselibannict::{work::SortBy,Order};// 作品を検索
letworks=client.me().works().sort(SortBy::Season,Order::Desc).search(10).await?;// 作品の情報を利用
forworkinworks{println!("{}",work.title);}特定のユーザーの活動を検索する
uselibannict::{Activity,ChangeStatus,Status};// 活動を検索
letactivities=client.user("naskya".to_owned()).activities().search(10).await?;// 活動の情報を利用
foractivityinactivities{ifletActivity::ChangeStatus(activity)=activity{letChangeStatus{status,work,..}=activity;matchstatus{Status::Watched=>println!("「{}」を観ました",work.title),_=>(),}}}作品の視聴状況を変更する
uselibannict::Status;// ID が 860 の作品の視聴状況を「見た」に変更
let_=client.write_access().change_status(860,Status::Watched).await?;GraphQL API によって返される ID を直接利用する
uselibannict::{AnnictObject,InternalId,Work};// アニメ「AIR」の GraphQL API における ID
letid=InternalId("V29yay0yNDE=".to_owned());// 作品の情報を取得
letwork=Work::from_internal_id(&client,id).await?;assert_eq!(work.title,"AIR");ライセンス
graphql/schema.graphql を除く、本リポジトリの内容には
- MIT License (LICENSE-MIT or https://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
の 2 つのライセンスが適用されます。あなたの選択でどちらのライセンスの下でも利用できます。
詳しくは COPYING を参照してください。
プロジェクトへの貢献
明示的に宣言されない限り、本プロジェクトへのあなたの貢献は上記の通りにデュアルライセンスされます。