pixivAPIをDart/Flutterで利用するためのパッケージです。
TODO: List what your package can do. Maybe include images, gifs, or videos.
このパッケージは開発中であり、長期的なサポートを想定していないため、pub.devでは公開していません。そのため、パッケージを使用するためにはpubspec.yaml
のdependencies
に以下の記述を追加する必要があります。
dependencies:
pixiv_dart:
git:
url: https://github.com/MnyaCat/pixiv_dart
ref: # バージョンを固定するコミットのハッシュ値を書いてください(例: 0ff847f)。
pixivへログインするためには、OAuth認証のアクセストークンを取得する必要があります。
以下の手順に従って、アクセストークンを取得してください。
oauth_flow.dart
を実行します。- 表示されたリンクをブラウザで開きます。
- DevToolsを開き(Google Chromeの場合はF12)、"Network(ネットワーク)"タブに移動します。
- "Preserve log(ログを保持)"を有効にし、"Filter"に
callback?
を入力します。 - pixivへログインしてください。
- ログインすると、
https://app-api.pixiv.net/web/v1/users/auth/pixiv/callback?state=...&code=...
のようなリクエストが表示されます。code
パラメーターの値をコピーして、コンソールにペーストし、Enter
を押してください。
アクセストークンの取得に成功すると、コンソールへ取得したトークンが出力されます。
アカウント情報をファイルに保存する場合は、引数--save-account
を付けて実行してください。カレントディレクトリ配下のuser_account.json
に出力されます。
ここで取得したトークンを利用することで、アカウントにログインできます。誤ってインターネット上にアップロードしないように気をつけてください。
import 'package:http/http.dart' show Client;
import 'package:pixiv_dart/pixiv_dart.dart';
void main() async {
final api =
await ApiClient.loginWithRefreshToken('your refresh token', Client());
// fetch illust detail
final illust = await api.fetchIllustDetail(92210213);
print('title: ${illust.title}');
}
Copyright (c) 2023 MnyaCat
Released under the MIT license
see LICENSE file