rewrewby/thetvdb2

thetvdb.com 的 API v2 客户端

1.0.4 2016-08-15 16:33 UTC

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 兼容的稳定版本。