yangusik / shikimori-api-php
Shikimori API 的 PHP 封装
v0.5.2
2022-08-17 14:02 UTC
Requires
- php: ^7.4 || ^8.0
- ext-curl: *
- ext-json: *
Requires (Dev)
- php-coveralls/php-coveralls: ^2.5
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-09-17 18:42:34 UTC
README
🔌 Shikimori API 的 PHP 封装
这是一个为 http://shikimori.one API 编写的 PHP 封装。它包括以下功能
- 所有 API 端点的辅助方法
- 授权码。
- 自动刷新访问令牌。
- 自动重试速率限制请求。
- PSR-4 自动加载支持。
要求
安装
使用 Composer 安装它
composer require yangusik/shikimori-api-php
使用方法
在使用 Shikimori API 之前,您需要在 Shikimori 应用 中创建一个应用。
简单示例:显示用户资料
require 'vendor/autoload.php'; $session = new ShikimoriAPI\Session( 'CLIENT_ID', 'CLIENT_SECRET', 'REDIRECT_URI' ); $api = new ShikimoriAPI\ShikimoriAPI(['auto_refresh' => false]); if (isset($_GET['code'])) { $session->requestAccessToken($_GET['code']); // use session to make auto-refresh token auto_refresh = true $api->setSession($session); // or just a token if you don't need auto-refresh token $api->setAccessToken($session->getAccessToken()); print_r($api->whoami()); } else { $options = [ 'scope' => [ 'user-read-email', ], ]; header('Location: ' . $session->getAuthorizeUrl($options)); die(); }
某些资源不需要令牌,例如动画
require 'vendor/autoload.php'; $animes = new \ShikimoriAPI\Resources\Animes(); $animeList = $animes->getAll([['order' => 'popularity', 'status' => 'latest', 'limit' => 50]]); print_r($animeList); /** * [ * ["id" => 1069, * "name" => "Chou Denji Machine Voltes V", * "russian" => "Суперэлектромагнитная машина Вольтес V", * "image": { ...
getAll 的所有选项请参阅 Shikimori 文档。
如果资源需要令牌,例如对话框
require 'vendor/autoload.php'; $api = new \ShikimoriAPI\ShikimoriAPI(); $api->setAccessToken('TOKEN'); $dialog = new \ShikimoriAPI\Resources\Dialogs($api); print_r($dialog->getAll()); // or $session = new ShikimoriAPI\Session( 'CLIENT_ID', 'CLIENT_SECRET', 'REDIRECT_URI' ); $session->setAccessToken('TOKEN'); $session->setRefreshToken('TOKEN'); $api = new ShikimoriAPI\ShikimoriAPI(['auto_refresh' => true]); $api->setSession($session); $dialog = new \ShikimoriAPI\Resources\Dialogs($api); print_r($dialog->getAll());
有关更多说明和示例,请参阅 文档。(即将推出)
许可证
MIT 许可证。更多信息请参阅 LICENSE。