Хуткі старт
Купіце план, стварыце ключ у акаўнце і адпраўце яго з першым запытам на https://api.amodb.dev/3/movie/550. Адказам будзе JSON TMDB v3, які вы ўжо ведаеце. Потым пабудуйце URL постэра на img.amodb.dev з poster_path. Калі вы ўжо карыстаецеся TMDB або OMDb, змяніце толькі базавы URL і ключ.
1. Атрымайце ключ
Абярыце план на старонцы з цэнамі і аплаціце перыяд. Потым адкрыйце Акаўнт, затым Ключы API і стварыце ключ. Ключ складаецца з 32 малых шаснаццатковых сімвалаў, як і ключ TMDB v3.
Поўны ключ паказваецца адзін раз. Захавайце яго ў зменнай асяроддзя з імем AMODB_KEY, каб прыклады на гэтай старонцы працавалі без змен.
export AMODB_KEY="0123456789abcdef0123456789abcdef"2. Запытайце дэталі фільма
Выклікайце GET /. Перадайце ключ як токен Bearer або як api_key у запыце. Абодва спосабы прымаюцца на кожным эндпоінце.
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)
}Адказ 200 мае палі TMDB v3. Невялікая частка:
{
"id": 550,
"imdb_id": "tt0137523",
"title": "Fight Club",
"release_date": "1999-10-15",
"runtime": 139,
"poster_path": "/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg"
}3. Загрузіце постэр
Злучыце базавы URL выяў, памер і poster_path. Выявам ключ не патрэбны, і яны застаюцца ў кэшы 30 дзён.
Усе памеры і пабудову URL з /3/configuration гл. на старонцы выявы.
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. Перанясіце існуючы кліент
Для кліента TMDB v3 змяніце базавы URL з https:/ на https:/ і выкарыстоўвайце свой ключ amodb. Для кліента OMDb змяніце яго на https:/ і перадайце той самы ключ як apikey.
Метады запісу TMDB для account, session, rating і list не прапануюцца. Яны вяртаюць HTTP 405 са status_code 37, таму кліенту, які толькі чытае, іншых змен не трэба.
5. Улічыце ліміты і памылкі
Кожны ключ мае ліміт у хвіліну, які задае яго план. Чытайце X-RateLimit-Remaining і пасля 429 чакайце Retry-After секунд. Памылкі выкарыстоўваюць цела TMDB з success, status_code і status_message.
Прачытайце ліміты запытаў і памылкі, перш чым пераходзіць у прадакшн.