Rychlý start

Kupte tarif, vytvořte si v účtu klíč a pošlete ho s prvním požadavkem na https://api.amodb.dev/3/movie/550. Odpověď je JSON TMDB v3, který už znáte. Pak z poster_path sestavte URL plakátu na img.amodb.dev. Pokud už používáte TMDB nebo OMDb, změňte jen základní URL a klíč.

Aktualizováno Zobrazit jako Markdown

1. Získejte klíč

Vyberte tarif na stránce s ceníkem a zaplaťte období. Poté otevřete Účet, potom API klíče a vytvořte klíč. Klíč má 32 malých hexadecimálních znaků, stejný tvar jako klíč TMDB v3.

Celý klíč se zobrazí jednou. Uložte ho do proměnné prostředí s názvem AMODB_KEY, aby ukázky na této stránce fungovaly tak, jak jsou napsané.

Shell
export AMODB_KEY="0123456789abcdef0123456789abcdef"

2. Vyžádejte detail filmu

Zavolejte GET /3/movie/{movie_id}. Klíč pošlete jako Bearer token nebo jako api_key v dotazu. Oba způsoby se přijímají na každém endpointu.

bashjspyphpgo
curl "https://api.amodb.dev/3/movie/550?language=en-US" \
  -H "Authorization: Bearer $AMODB_KEY"
const res = await fetch("https://api.amodb.dev/3/movie/550?language=en-US", {
  headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});
if (!res.ok) throw new Error(`amodb ${res.status}`);
const movie = await res.json();
console.log(movie.title, movie.runtime);
import os
import requests

res = requests.get(
    "https://api.amodb.dev/3/movie/550",
    params={"language": "en-US"},
    headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
    timeout=10,
)
res.raise_for_status()
movie = res.json()
print(movie["title"], movie["runtime"])
<?php
$ch = curl_init("https://api.amodb.dev/3/movie/550?language=en-US");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["Authorization: Bearer " . getenv("AMODB_KEY")],
]);
$movie = json_decode(curl_exec($ch), true);
echo $movie["title"] . " " . $movie["runtime"];
package main

import (
	"encoding/json"
	"fmt"
	"log"
	"net/http"
	"os"
)

func main() {
	req, _ := http.NewRequest("GET", "https://api.amodb.dev/3/movie/550?language=en-US", nil)
	req.Header.Set("Authorization", "Bearer "+os.Getenv("AMODB_KEY"))

	res, err := http.DefaultClient.Do(req)
	if err != nil {
		log.Fatal(err)
	}
	defer res.Body.Close()

	var movie struct {
		Title   string `json:"title"`
		Runtime int    `json:"runtime"`
	}
	json.NewDecoder(res.Body).Decode(&movie)
	fmt.Println(movie.Title, movie.Runtime)
}

Odpověď 200 obsahuje pole TMDB v3. Krátká ukázka:

JSON
{
  "id": 550,
  "imdb_id": "tt0137523",
  "title": "Fight Club",
  "release_date": "1999-10-15",
  "runtime": 139,
  "poster_path": "/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg"
}

3. Načtěte plakát

Spojte základní URL obrázků, velikost a poster_path. Obrázky nepotřebují klíč a zůstávají v cache 30 dní.

Všechny velikosti a sestavování URL z /3/configuration najdete na stránce obrázky.

bashjspy
curl -o poster.jpg "https://img.amodb.dev/t/p/w500/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg"
const poster = `https://img.amodb.dev/t/p/w500${movie.poster_path}`;
poster = f"https://img.amodb.dev/t/p/w500{movie['poster_path']}"

4. Přechod stávajícího klienta

U klienta TMDB v3 změňte základní URL z https://api.themoviedb.org/3 na https://api.amodb.dev/3 a použijte svůj klíč amodb. U klienta OMDb ji změňte na https://api.amodb.dev/omdb/ a stejný klíč pošlete jako apikey.

Metody TMDB pro zápis u účtu, relace, hodnocení a seznamů se nenabízejí. Vracejí HTTP 405 se status_code 37, takže klient jen pro čtení nepotřebuje žádnou další změnu.

5. Ošetřete limity a chyby

Každý klíč má počet požadavků za minutu daný tarifem. Čtěte X-RateLimit-Remaining a po 429 počkejte Retry-After sekund. Chyby používají tělo TMDB s success, status_code a status_message.

Než půjdete do produkce, přečtěte si limity požadavků a chyby.