Jiné úlohy, jiné nástroje
Trakt se soustředí na uživatelská data: historii sledování, seznamy ke zhlédnutí, hodnocení, kalendáře a přihlášení přes OAuth. Má také veřejné endpointy metadat a jeho dokumentace uvádí platné limity. amodb má jednu úlohu: metadata filmů, seriálů a osob, vracená jako JSON ve tvaru TMDB v3. Trakt zvolte pro to, co udělali vaši uživatelé. amodb zvolte pro to, čím titul je. Většina aplikací, které potřebují obojí, volá každou službu pro její polovinu.
Uživatelská data a data titulů
| Úloha | Trakt | amodb |
|---|---|---|
| Historie sledování | Základní funkce | Nenabízí se, ukládejte ji sami |
| Seznamy a seznamy ke zhlédnutí | Základní funkce | Nenabízí se, zápisy vracejí 405 |
| Uživatelská hodnocení | Základní funkce | Nenabízí se, zápisy vracejí 405 |
| Kalendáře | Pro uživatele, podívejte se do jejich dokumentace | next_episode_to_air na seriál a seznamy podle rozvrhu |
| Přihlášení | OAuth | Jen klíč, žádné přihlášení uživatele |
| Metadata titulů | Veřejné endpointy, limity viz jejich dokumentace | Endpointy detailů ve 14 jazycích |
| Obsazení a štáb | Podívejte se do jejich dokumentace | /credits pro titul, combined_credits pro osobu |
| Obrázky | Podívejte se do jejich dokumentace | img.amodb.dev, klíč není potřeba |
| Trailery | Podívejte se do jejich dokumentace | /videos s type a official |
| Změněno od data | Podívejte se do jejich dokumentace | Nenabízí se, feedy změn neexistují |
Pro rozvrhy GET /3/tv/airing_today a GET /3/tv/on_the_air vypisují seriály podle data vysílání a každý záznam seriálu nese vlastní next_episode_to_air. U skončeného seriálu je toto pole null. Oba seznamy popisuje stránka trendy a seznamy. Kalendář pro jednoho uživatele si sestavíte z vlastních záznamů o sledování.
Srovnání funkcí
| Funkce | Trakt | amodb |
|---|---|---|
| Cenový model | Podívejte se do jejich dokumentace | Předplacená období 1 až 24 měsíců |
| Bezplatný tarif | Podívejte se do jejich dokumentace | Žádný, ani zkušební verze |
| Ověření | OAuth pro uživatelská data, u veřejných volání se podívejte do jejich dokumentace | api_key nebo hlavička Bearer |
| Formát odpovědi | JSON, podívejte se do jejich dokumentace | JSON ve tvaru TMDB v3 |
| Jazyky | Podívejte se do jejich dokumentace | 14 jazyků rozhraní |
| Filmy | Ano | Ano |
| Seriály | Ano | Ano, se sezónami a epizodami |
| Osoby | Podívejte se do jejich dokumentace | Ano |
| Obrázky | Podívejte se do jejich dokumentace | img.amodb.dev, stejné tokeny velikostí jako TMDB |
| Hodnocení | Uživatelská hodnocení, podívejte se do jejich dokumentace | Skóre z IMDb, Kinopoisk, Metacritic, Rotten Tomatoes a TMDB, kde jsou známé |
| Limit požadavků | Limity viz jejich dokumentace | 20, 40 nebo 120 za minutu na klíč |
| Komerční užití | Podívejte se do jejich dokumentace | Placené tarify, viz ceník |
| Kompatibilita | Vlastní API | Čtení TMDB v3 a OMDb |
V čem se amodb liší
- Žádná přihlašovací obrazovka pro vaše uživatele. Stačí klíč na straně serveru. Nikdo nepropojuje účet, takže není co obnovovat za token a není co vysvětlovat na obrazovce souhlasu.
- Šíře polí. Délka, žánry, produkční společnosti, věková hodnocení, překlady a klíčová slova pocházejí z endpointů detailů, v jazyce, který si vyžádáte.
- Zveřejněné limity. Limit tarifu je číslo za minutu a každá odpověď ukazuje, co zbývá. Podle těchto čísel můžete dimenzovat synchronizaci na pozadí.
- Měřiče nálady a soundtracky. Rozšíření na stránkách nálady a soundtracky přidávají data, která nejsou součástí TMDB v3.
Kdy se Trakt hodí lépe
- Cokoli osobního. Scrobbling, synchronizace historie, sociální seznamy a kalendáře pro jednotlivé uživatele jsou funkce služby Trakt. amodb nemá účty ani metody pro zápis.
- Stav napříč zařízeními. Pokud uživatel očekává stejné značky zhlédnutí na telefonu i v televizi, stav musí žít v uživatelské službě a amodb jí není.
- Stávající aplikace s OAuth. Pokud vaše aplikace už drží tokeny Trakt, ponecháte je. amodb přidejte jen pro data titulů, která nyní berete jinde.
Přechod na amodb: spojení záznamů
Uživatelská data nepřenášíte, protože amodb žádná nedrží. Nahrazujete volání metadat. Položky Trakt nesou ID pro jiné databáze (přesná pole viz jejich dokumentace), uložte proto ID z TMDB nebo z IMDb vedle každého záznamu o sledování a používejte je zde.
<?php
declare(strict_types=1);
function amodb(string $path): array
{
$ch = curl_init('https://api.amodb.dev/3' . $path);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('AMODB_KEY')],
]);
$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($status !== 200) {
throw new RuntimeException("amodb returned $status");
}
return json_decode($body, true);
}
$show = amodb('/tv/1396?language=en-US');
$next = $show['next_episode_to_air'] ?? null;
echo $show['name'], ' ', $show['status'], PHP_EOL;
echo $next ? 'Next: ' . $next['air_date'] : 'No episode scheduled', PHP_EOL;Když držíte jen ID z IMDb, zavolejte jednou / a ponechte ID z tv_results. 429 obsahuje Retry-After, jak popisuje stránka limity požadavků.
Dimenzování úlohy obnovy
Uživatelská knihovna 200 seriálů potřebuje k jedné obnově 200 požadavků na detaily. Při 20 požadavcích za minutu to trvá 10 minut, při 40 trvá 5 a při 120 méně než 2. Kontrola klíče proběhne před cache na edge, takže se počítají i opakovaná volání. amodb nemá feedy změn, takže nemůže říct, která ID se od data změnila. Místo toho čtěte status a next_episode_to_air z odpovědi detailů. Seriály, které se stále vysílají, obnovujte často a skončené zřídka. Detaily zůstávají v cache 6 hodin, obnova častější vrací stejná data.
Ceník
amodb je předplacené a samo se neobnovuje. Zvolte 1, 3, 6, 12 nebo 24 měsíců, za které je sleva 0, 10, 20, 30 nebo 40 procent, a jeden ze tří tarifů s 20, 40 nebo 120 požadavky za minutu. Každý tarif vrací všechna data a bezplatný tarif neexistuje. Částky jsou na stránce ceník.