codebuglab / laravel-tmdb
简单集成TMDB (The Movie Database) API以获取其数据。
v0.0.5-beta
2022-08-22 10:01 UTC
Requires
- php: >=7.0
- illuminate/support: >=6.0.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-22 14:15:19 UTC
README
简单集成TMDB (The Movie Database) API以获取其数据。
目录
设置
安装
要通过composer安装此软件包,请在终端中运行以下命令
composer require codebuglab/laravel-tmdb
发布
您必须使用以下 artisan 命令发布配置文件
php artisan vendor:publish --provider="CodeBugLab\Tmdb\TmdbServiceProvider"
- 文件
tmdb.php
将在config
文件夹中发布。 - 然后,您必须在您的
env
文件中放入您的 tmdb api key,如下所示TMDB_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
。 - 如果API返回的数据应使用另一种语言,请在您的
env
中设置 TMDB_LANGUAGE 键,例如:TMDB_LANGUAGE=da
。
说明
- 您可以使用tmdb api获取您想要的信息,首先快速查看官方API页面。
- 对于所有后续API请求,您必须使用Tmdb外观
use CodeBugLab\Tmdb\Facades\Tmdb;
- 每个请求都有其自己的信息链接,您可以了解所需参数、返回数组、不同类型的响应以及可选查询字符串,我们将在选项部分讨论这些问题
认证
获取电影认证
$tmdb = Tmdb::certifications()->movieCertifications()->get(); // return array
- 获取更多信息请点击此处。
获取电视认证
$tmdb = Tmdb::certifications()->tvCertifications()->get(); // return array
- 获取更多信息请点击此处。
变更
获取电影变更列表
$tmdb = Tmdb::changes()->movieChangeList()->get(); // return array
- 获取更多信息请点击此处。
获取电视变更列表
$tmdb = Tmdb::changes()->tvChangeList()->get(); // return array
- 获取更多信息请点击此处。
获取人物变更列表
$tmdb = Tmdb::changes()->personChangeList()->get(); // return array
- 获取更多信息请点击此处。
集合
获取详情
$tmdb = Tmdb::collections()->details($collectionId)->get(); // return array
- 获取更多信息请点击此处。
获取图片
$tmdb = Tmdb::collections()->images($collectionId)->get(); // return array
- 获取更多信息请点击此处。
获取交易
$tmdb = Tmdb::collections()->transactions($collectionId)->get(); // return array
- 获取更多信息请点击此处。
公司
获取详情
$tmdb = Tmdb::companies()->details($collectionId)->get(); // return array
- 获取更多信息请点击此处。
获取替代名称
$tmdb = Tmdb::companies()->alternativeNames($collectionId)->get(); // return array
- 获取更多信息请点击此处。
获取图片
$tmdb = Tmdb::companies()->images($collectionId)->get(); // return array
- 获取更多信息请点击此处。
配置
获取API配置
$tmdb = Tmdb::configuration()->apiConfiguration()->get(); // return array
- 获取更多信息请点击此处。
获取国家
$tmdb = Tmdb::configuration()->countries()->get(); // return array
- 获取更多信息请点击此处。
获取职位
$tmdb = Tmdb::configuration()->jobs()->get(); // return array
- 获取更多信息请点击此处。
获取语言
$tmdb = Tmdb::configuration()->languages()->get(); // return array
- 获取更多信息请点击此处。
获取主要翻译
$tmdb = Tmdb::configuration()->primaryTranslations()->get(); // return array
- 获取更多信息请点击此处。
获取时区
$tmdb = Tmdb::configuration()->timezones()->get(); // return array
- 获取更多信息请点击此处。
信用
获取详情
$tmdb = Tmdb::credits()->details($creditId)->get(); // return array
- 获取更多信息请点击此处。
发现
电影发现
$tmdb = Tmdb::discover()->movieDiscover()->get(); // return array
- 获取更多信息请点击此处。
电视发现
$tmdb = Tmdb::discover()->tvDiscover()->get(); // return array
- 获取更多信息请点击此处。
类型
获取电影列表
$tmdb = Tmdb::genres()->movieList()->get(); // return array
- 获取更多信息请点击此处。
获取电视列表
$tmdb = Tmdb::genres()->tvList()->get(); // return array
- 获取更多信息请点击此处。
列表
获取详情
$tmdb = Tmdb::lists()->details($listId)->get(); // return array
- 获取更多信息请点击此处。
检查项目状态
$tmdb = Tmdb::lists()->itemStatus($listId)->get(); // return array
- 获取更多信息请点击此处。
电影
获取详情
$tmdb = Tmdb::movies()->details($movieId)->get(); // return array
- 获取更多信息请点击此处。
获取替代标题
$tmdb = Tmdb::movies()->alternativeTitles($movieId)->get(); // return array
- 获取更多信息请点击此处。
获取变更
$tmdb = Tmdb::movies()->changes($movieId)->get(); // return array
- 获取更多信息请点击此处。
获取信用
$tmdb = Tmdb::movies()->credits($movieId)->get(); // return array
- 获取更多信息请点击此处。
获取外部ID
$tmdb = Tmdb::movies()->externalIds($movieId)->get(); // return array
- 获取更多信息请点击此处。
获取图片
$tmdb = Tmdb::movies()->images($movieId)->get(); // return array
- 获取更多信息请点击此处。
获取关键词
$tmdb = Tmdb::movies()->keywords($movieId)->get(); // return array
- 获取更多信息请点击此处。
获取列表
$tmdb = Tmdb::movies()->lists($movieId)->get(); // return array
- 获取更多信息请点击此处。
获取推荐
$tmdb = Tmdb::movies()->recommendations($movieId)->get(); // return array
- 获取更多信息请点击此处。
获取上映日期
$tmdb = Tmdb::movies()->releaseDates($movieId)->get(); // return array
- 获取更多信息请点击此处。
获取评论
$tmdb = Tmdb::movies()->reviews($movieId)->get(); // return array
- 获取更多信息请点击此处。
获取相似电影
$tmdb = Tmdb::movies()->similar($movieId)->get(); // return array
- 更多信息,请访问此处。
获取翻译
$tmdb = Tmdb::movies()->translations($movieId)->get(); // return array
- 更多信息,请访问此处。
获取视频
$tmdb = Tmdb::movies()->videos($movieId)->get(); // return array
- 更多信息,请访问此处。
获取观看提供商
$tmdb = Tmdb::movies()->watchProviders($movieId)->get(); // return array
- 更多信息,请访问此处。
获取最新
$tmdb = Tmdb::movies()->latest()->get(); // return array
- 更多信息,请访问此处。
获取正在上映
$tmdb = Tmdb::movies()->nowPlaying()->get(); // return array
- 更多信息,请访问此处。
获取热门
$tmdb = Tmdb::movies()->popular()->get(); // return array
- 更多信息,请访问此处。
获取评分最高的
$tmdb = Tmdb::movies()->topRated()->get(); // return array
- 更多信息,请访问此处。
获取即将上映
$tmdb = Tmdb::movies()->upcoming()->get(); // return array
- 更多信息,请访问此处。
网络
获取详情
$tmdb = Tmdb::networks()->details($networkId)->get(); // return array
- 更多信息,请访问此处。
获取替代名称
$tmdb = Tmdb::networks()->alternativeNames($networkId)->get(); // return array
- 更多信息,请访问此处。
获取图片
$tmdb = Tmdb::networks()->images($networkId)->get(); // return array
- 更多信息,请访问此处。
趋势
获取趋势
$tmdb = Tmdb::trending()->trending($mediaType, $timeWindow)->get(); // return array
- 更多信息,请访问此处。
人物
获取详情
$tmdb = Tmdb::people()->details($personId)->get(); // return array
- 更多信息,请访问此处。
获取变更
$tmdb = Tmdb::people()->changes($personId)->get(); // return array
- 更多信息,请访问此处。
获取电影信用
$tmdb = Tmdb::people()->movieCredits($personId)->get(); // return array
- 更多信息,请访问此处。
获取电视信用
$tmdb = Tmdb::people()->tvCredits($personId)->get(); // return array
- 更多信息,请访问此处。
获取组合信用
$tmdb = Tmdb::people()->combinedCredits($personId)->get(); // return array
- 更多信息,请访问此处。
获取外部ID
$tmdb = Tmdb::people()->externalIds($personId)->get(); // return array
- 更多信息,请访问此处。
获取图片
$tmdb = Tmdb::people()->images($personId)->get(); // return array
- 更多信息,请访问此处。
获取标记图片
$tmdb = Tmdb::people()->taggedImages($personId)->get(); // return array
- 更多信息,请访问此处。
获取翻译
$tmdb = Tmdb::people()->translations($personId)->get(); // return array
- 更多信息,请访问此处。
获取最新
$tmdb = Tmdb::people()->latest()->get(); // return array
- 更多信息,请访问此处。
获取热门
$tmdb = Tmdb::people()->popular()->get(); // return array
- 更多信息,请访问此处。
获取观看提供商
$tmdb = Tmdb::people()->popular()->get(); // return array
- 更多信息,请访问此处。
评论
获取详情
$tmdb = Tmdb::reviews()->details($reviewId)->get(); // return array
- 更多信息,请访问此处。
搜索
- 此查询需要查询选项,您需要将搜索参数替换为
$query
变量。 - 更多信息,请访问此处
搜索公司
$tmdb = Tmdb::search()->companies()->query($query)->get(); // return array
- 更多信息,请访问此处。
搜索集合
$tmdb = Tmdb::search()->collections()->query($query)->get(); // return array
- 更多信息,请访问此处。
搜索关键词
$tmdb = Tmdb::search()->keywords()->query($query)->get(); // return array
- 更多信息,请访问此处。
搜索电影
$tmdb = Tmdb::search()->movies()->query($query)->get(); // return array
- 更多信息,请访问此处。
多搜索
$tmdb = Tmdb::search()->multi()->query($query)->get(); // return array
- 更多信息,请访问此处。
搜索人物
$tmdb = Tmdb::search()->people()->query($query)->get(); // return array
- 更多信息,请访问此处。
搜索电视剧
$tmdb = Tmdb::search()->tvShows()->query($query)->get(); // return array
- 更多信息,请访问此处。
电视
获取详情
$tmdb = Tmdb::tv()->details($tvId)->get(); // return array
- 更多信息,请访问此处。
获取汇总信用
$tmdb = Tmdb::tv()->aggregateCredits($tvId)->get(); // return array
- 更多信息,请访问此处。
获取替代名称
$tmdb = Tmdb::tv()->alternativeTitles($tvId)->get(); // return array
- 更多信息,请访问此处。
获取变更
$tmdb = Tmdb::tv()->changes($tvId)->get(); // return array
- 更多信息,请访问此处。
获取内容评级
$tmdb = Tmdb::tv()->contentRatings($tvId)->get(); // return array
- 更多信息请访问此处。
获取信用
$tmdb = Tmdb::tv()->credits($tvId)->get(); // return array
- 更多信息请访问此处。
获取剧集分组
$tmdb = Tmdb::tv()->episodeGroups($tvId)->get(); // return array
- 更多信息请访问此处。
获取外部ID
$tmdb = Tmdb::tv()->externalIds($tvId)->get(); // return array
- 更多信息请访问此处。
获取图片
$tmdb = Tmdb::tv()->images($tvId)->get(); // return array
- 更多信息请访问此处。
获取关键词
$tmdb = Tmdb::tv()->keywords($tvId)->get(); // return array
- 更多信息请访问此处。
获取推荐
$tmdb = Tmdb::tv()->recommendations($tvId)->get(); // return array
- 更多信息请访问此处。
获取评论
$tmdb = Tmdb::tv()->reviews($tvId)->get(); // return array
- 更多信息请访问此处。
获取在影院上映
$tmdb = Tmdb::tv()->screenedTheatrically($tvId)->get(); // return array
- 更多信息请访问此处。
获取相似电视剧
$tmdb = Tmdb::tv()->similar($tvId)->get(); // return array
- 更多信息请访问此处。
获取翻译
$tmdb = Tmdb::tv()->translations($tvId)->get(); // return array
- 更多信息,请访问此处。
获取视频
$tmdb = Tmdb::tv()->watchProviders($tvId)->get(); // return array
- 更多信息请访问此处。
获取最新
$tmdb = Tmdb::tv()->latest()->get(); // return array
- 更多信息请访问此处。
获取今日播出
$tmdb = Tmdb::tv()->airingToday()->get(); // return array
- 更多信息请访问此处。
正在播出
$tmdb = Tmdb::tv()->onTheAir()->get(); // return array
- 更多信息请访问此处。
获取热门
$tmdb = Tmdb::tv()->popular()->get(); // return array
- 更多信息请访问此处。
获取评分最高的
$tmdb = Tmdb::tv()->topRated()->get(); // return array
- 更多信息请访问此处。
电视剧季
获取详情
$tmdb = Tmdb::tvSeasons()->details($tvId, $seasonNumber)->get(); // return array
- 更多信息请访问此处。
获取汇总信用
$tmdb = Tmdb::tvSeasons()->aggregateCredits($tvId, $seasonNumber)->get(); // return array
- 更多信息请访问此处。
获取变更
$tmdb = Tmdb::tvSeasons()->changes($tvId, $seasonNumber)->get(); // return array
- 更多信息请访问此处。
获取信用
$tmdb = Tmdb::tvSeasons()->credits($tvId, $seasonNumber)->get(); // return array
- 更多信息请访问此处。
获取外部ID
$tmdb = Tmdb::tvSeasons()->externalIds($tvId, $seasonNumber)->get(); // return array
- 更多信息请访问此处。
获取图片
$tmdb = Tmdb::tvSeasons()->images($tvId, $seasonNumber)->get(); // return array
- 更多信息请访问此处。
获取交易
$tmdb = Tmdb::tvSeasons()->transactions($tvId, $seasonNumber)->get(); // return array
- 更多信息请访问此处。
获取视频
$tmdb = Tmdb::tvSeasons()->videos($tvId, $seasonNumber)->get(); // return array
- 更多信息请访问此处。
电视剧集
获取详情
$tmdb = Tmdb::tvEpisodes()->details($tvId, $seasonNumber, $episodeNumber)->get(); // return array
- 更多信息请访问此处。
获取变更
$tmdb = Tmdb::tvEpisodes()->changes($tvId, $seasonNumber, $episodeNumber)->get(); // return array
- 更多信息请访问此处。
获取信用
$tmdb = Tmdb::tvEpisodes()->credits($episodeNumber)->get(); // return array
- 更多信息请访问此处。
获取外部ID
$tmdb = Tmdb::tvEpisodes()->externalIds($tvId, $seasonNumber, $episodeNumber)->get(); // return array
- 更多信息请访问此处。
获取图片
$tmdb = Tmdb::tvEpisodes()->images($tvId, $seasonNumber, $episodeNumber)->get(); // return array
- 更多信息请访问此处。
获取交易
$tmdb = Tmdb::tvEpisodes()->transactions($tvId, $seasonNumber, $episodeNumber)->get(); // return array
- 更多信息请访问此处。
获取视频
$tmdb = Tmdb::tvEpisodes()->videos($tvId, $seasonNumber, $episodeNumber)->get(); // return array
- 更多信息请访问此处。
观看提供商
获取可用区域
$tmdb = Tmdb::watchProviders()->availableRegions()->get(); // return array
- 更多信息请访问此处。
获取电影提供商
$tmdb = Tmdb::watchProviders()->movieProviders()->get(); // return array
- 更多信息请访问此处。
获取电视提供商
$tmdb = Tmdb::watchProviders()->tvProviders()->get(); // return array
- 更多信息请访问此处。
选项
- tmdb API在部分请求中提供了一些选项,以在请求过程中提供更多灵活性,我们在此添加了一些。
- 您可以在每个信息页面的查询字符串部分找到所有支持选项及其解释,例如这里所示。您可以看到tmdb支持的语言、页面和地区。
- 我们目前还没有支持所有选项,但随着时间的推移,我们会添加更多。
- 您必须仔细阅读tmdb文档,以避免使用不支持的选项。
- 以下是一些本包支持的选项及其解释。
页面
- 如果您想从tmdb API获取最受欢迎的电影,您将只能获得20条记录,而您可以获得大约800条记录。因此,他们不会返回所有记录,而是只返回前20条,您可以通过使用分页选项来获取下一组20条。
- 所以,您不需要这样请求
$tmdb = Tmdb::movies()->popular()->get(); // return array
这将返回第一页,您可以选择您想要的页面,例如,如果您想获取第二页,您将这样请求。
$tmdb = Tmdb::movies()->popular()->page(2)->get(); // return array
追加到响应
- 此选项与查询参数append_to_response等效,更多信息
- 此选项可以接受多个参数,如视频、海报和演员阵容。
- 例如,您可以通过此查询附加更多关于电影演员的信息。
$tmdb = Tmdb::movies()->details($movieId)->appendToResponse(['casts'])->get(); // return array
查询
- 此选项在您想使用tmdb搜索时使用。
- 例如,如果您想搜索电视剧,您必须这样获取。
$tmdb = Tmdb::search()->tvShows()->query($query)->get();
其中$query
是您想要搜索的字符串,在这个例子中是一个电视剧。
测试
要运行测试,请使用此命令vendor/bin/phpunit
许可证
此包是免费软件,根据MIT许可条款分发。