赵韦拉 / laravel-trakt
将 Laravel 与 Trakt API 集成
v1.1.0
2024-03-29 15:16 UTC
Requires
- php: ^8.3
- guzzlehttp/guzzle: ^7.0
- illuminate/contracts: ^11.0
- spatie/laravel-package-tools: ^1.16.4
Requires (Dev)
- larastan/larastan: ^2.9
- nunomaduro/collision: ^8.0
- orchestra/testbench: ^9.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-laravel: ^2.3
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^10.5
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-09-29 16:38:28 UTC
README
将 Laravel 与 Trakt API 集成
整个包的开发遵循官方的 Trakt API 文档。
安装
您可以通过 composer 安装此包
composer require pvguerra/laravel-trakt
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="trakt-config"
这是已发布配置文件的内容
return [ 'api_url' => env('TRAKT_API_URL'), 'client_id' => env('TRAKT_CLIENT_ID'), 'client_secret' => env('TRAKT_CLIENT_SECRET'), 'headers' => [ 'Content-type' => 'application/json', 'trakt-api-version' => env('TRAKT_API_VERSION', '2'), 'trakt-api-key' => env('TRAKT_CLIENT_ID'), ], 'redirect_url' => env('TRAKT_REDIRECT_URL'), 'staging_api_url' => env('STAGING_TRAKT_API_URL'), 'staging_client_id' => env('STAGING_TRAKT_CLIENT_ID'), 'staging_client_secret' => env('STAGING_TRAKT_CLIENT_SECRET'), 'staging_headers' => [ 'Content-type' => 'application/json', 'trakt-api-version' => env('TRAKT_API_VERSION', '2'), 'trakt-api-key' => env('STAGING_TRAKT_CLIENT_ID'), ], ];
使用方法
如果您没有 Trakt 客户端 ID,您需要 创建一个新的 API 应用。然后您将获得所有需要的信息以填写配置环境变量。
电影
use Pvguerra\LaravelTrakt\TraktMovie; $traktMovie = new TraktMovie(); return $traktMovie->get('the-batman-2022');
电视剧
use Pvguerra\LaravelTrakt\TraktShow; $traktShow = new TraktShow(); return $traktShow->popular();
认证需求
某些端点需要认证,对于这些端点,您需要一个 API 令牌。在此阶段,我强烈建议使用 Trakt Socialite Providers,因为它扩展了 Laravel Socialite 并运行得非常好。
示例
// web.php Route::get('auth/redirect', [OAuthController::class, 'redirect'])->name('trakt.auth'); Route::get('auth/callback', [OAuthController::class, 'callback'])->name('trakt.callback'); // authController.php use Laravel\Socialite\Facades\Socialite; // Redirecting the user to the OAuth provider. public function redirect() { return Socialite::driver('trakt')->redirect(); } // Receiving the callback from the provider after authentication. public function callback() { $socialiteUser = Socialite::driver('trakt')->user(); //... }
然后使用认证的用户
use Pvguerra\LaravelTrakt\TraktUser; $user = auth()->user(); $traktUser = new TraktUser($user->token); return $traktUser->collection($user->trakt_id, 'movies');
文档
完整文档将很快提供。
更新日志
请参阅 更新日志 了解最近的变化。
贡献
请参阅 贡献指南 了解详细信息。
欢迎提交拉取请求!
致谢
许可
MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。