rewrewby / thetvdb2
thetvdb.com 的 API v2 客户端
1.0.4
2016-08-15 16:33 UTC
Requires
- php: >=5.5
- guzzlehttp/guzzle: ^6.0
- illuminate/support: ^5.2
- symfony/serializer: ^2.7|^3.0
Requires (Dev)
- phpunit/phpunit: ^4.8
- symfony/var-dumper: ^3.0
This package is not auto-updated.
Last update: 2024-09-14 18:53:14 UTC
README
这是一个 thetvdb.com 网站的 API 客户端。它使用 RESTful API,您需要注册才能使用此软件包。
API 密钥注册
要使用此 PHP 软件包,您需要从 thetvdb.com 网站请求一个 API 密钥:[http://thetvdb.com/?tab=apiregister](http://thetvdb.com/?tab=apiregister)。
请遵循以下指南
- 如果您将在商业产品或网站上使用 API 信息,您必须通过电子邮件 scott@thetvdb.com 向我们发送邮件,并在使用 API 之前等待授权。但是,您可以在公开发布之前使用 API 进行开发和测试。
- 如果您有一个公开可用的程序,您必须通知您的用户此网站,并在可能的情况下请求他们帮助贡献信息和艺术品。
- 您必须熟悉我们的数据结构,这些结构在 wiki 文档中有详细说明。
- 您必须不要为每个用户执行超过必要的请求。这意味着不要下载所有我们的内容(如果需要,我们将提供数据库)。请友好地对待我们的服务器。
- 您必须不使用文档化的 API 方法直接访问我们的数据。
- 您必须确保您的账户信息中的电子邮件地址是最新和准确的,以防我们需要联系您关于您的密钥(我们像任何人一样讨厌垃圾邮件,所以我们永远不会将您的电子邮件地址泄露给其他人)。
- 请随时联系我们,并请求更改我们的网站和/或 API。我们将愉快地考虑所有合理的建议。
来源:thetvdb.com
安装
使用 composer 安装此软件包
$ composer require adrenth/thetvdb2
文档
官方 API 文档可以在此处找到:[https://github.com/rewrewby/thetvdb2/blob/HEAD/](https://api.thetvdb.com/swagger)。
认证
$client = new \Adrenth\Thetvdb\Client();
$client->setLanguage('nl');
// Obtain a token
$token = $client->authentication()->login($apiKey, $username, $userKey);
$client->setToken($token);
// Or refresh token
$client->refreshToken();
扩展
客户端有几个扩展。以下是一些使用示例:
认证
$client->authentication()->login($apiKey, $username, $userKey);
$client->authentication()->refreshToken();
语言
$client->languages()->all();
$client->languages()->get($languageId);
剧集
$client->episodes()->get($episodeId);
// ..
系列
$client->series()->get($seriesId);
$client->series()->getActors($seriesId);
$client->series()->getEpisodes($seriesId);
$client->series()->getImages($seriesId);
$client->series()->getLastModified($seriesId);
// ..
搜索
$client->search()->seriesByName('lost');
$client->search()->seriesByImdbId('tt2243973');
$client->search()->seriesByZap2itId('EP015679352');
// ..
更新
获取最近更新的系列列表
$client->updates()->query($fromTime, $toTime);
用户
$client->users()->get();
$client->users()->getFavorites();
$client->users()->addFavorite($identifier);
$client->users()->removeFavorite($identifier);
$client->users()->getRatings();
$client->users()->addRating($type, $itemId, $rating);
$client->users()->updateRating($type, $itemId, $rating);
$client->users()->removeRating($type, $itemId);
//..
响应数据
每个响应对象都有一个 getData()
方法,其中可能包含对象集合。
例如
// Get all available languages
$languageData = $client->languages()->all(); // Returns a LanguageData instance
$languages = $languageData->getData()->all();
array:23 [▼
0 => Language {#26 ▼
-values: array:4 [▼
"id" => 27
"abbreviation" => "zh"
"name" => "中文"
"englishName" => "Chinese"
]
}
1 => Language {#19 ▶}
2 => Language {#30 ▶}
3 => Language {#21 ▶}
// ..
];
贡献
这是 TheTVDB.com API 客户端的 2.0 版本。请随意加入我们,创建一个与全新的 TheTVDB.com RESTful API 兼容的稳定版本。