Uwierzytelnianie
Każde żądanie do amodb niesie jeden klucz: 32 małe znaki szesnastkowe. Wyślij go jako api_key w zapytaniu albo w nagłówku Authorization: Bearer w wywołaniach w stylu TMDB, a jako apikey w wywołaniach w stylu OMDb. Obrazy nie wymagają klucza. Błędny klucz zwraca 401 z status_code 7, zawieszony klucz 401 z status_code 10.
Format klucza
Klucz to 32 małe znaki szesnastkowe, na przykład 0123456789abcdef0123456789abcdef. Ma ten sam kształt co klucz TMDB v3, więc pola i walidatory zbudowane dla kluczy TMDB go akceptują.
amodb przechowuje tylko skrót SHA-256 każdego klucza. Pełny klucz jest pokazywany raz, przy tworzeniu. Jeśli go zgubisz, usuń go i utwórz nowy.
Wywołania w stylu TMDB
Wyślij klucz na jeden z dwóch sposobów. Oba działają w każdym endpoincie pod https:/.
| Sposób | Przykład |
|---|---|
| Parametr zapytania | ?api_key=YOUR_KEY |
| Nagłówek | Authorization: Bearer YOUR_ |
curl "https://api.amodb.dev/3/configuration" \
-H "Authorization: Bearer $AMODB_KEY"const res = await fetch("https://api.amodb.dev/3/configuration", {
headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});import os
import requests
res = requests.get(
"https://api.amodb.dev/3/configuration",
headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
timeout=10,
)<?php
$url = "https://api.amodb.dev/3/configuration?api_key=" . urlencode(getenv("AMODB_KEY"));
$config = json_decode(file_get_contents($url), true);req, _ := http.NewRequest("GET", "https://api.amodb.dev/3/configuration", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("AMODB_KEY"))
res, err := http.DefaultClient.Do(req)Wywołania w stylu OMDb
Endpoint zgodny z OMDb przyjmuje klucz jako apikey, tak jak OMDb. To ten sam klucz, którego używasz w wywołaniach w stylu TMDB.
curl "https://api.amodb.dev/omdb/?t=Inception&y=2010&apikey=$AMODB_KEY"Obrazy nie wymagają klucza
Adresy obrazów na img.amodb.dev są publiczne. Nie dodawaj do nich klucza: tag <img> ujawniłby go każdemu odwiedzającemu.
Trzymaj klucze na serwerze
Klucz w paczce przeglądarkowej, aplikacji mobilnej lub publicznym repozytorium jest publiczny. Każdy, kto go skopiuje, zużywa twój limit żądań. Wywołuj amodb ze swojego serwera, funkcji serverless lub kroku budowania i przekazuj klientom tylko dane.
- Trzymaj klucz w zmiennej środowiskowej lub menedżerze sekretów.
- Używaj jednego klucza na aplikację lub środowisko, z etykietą, np.
productionlubstaging. - Usuń klucz w chwili, gdy wycieknie. Wywołania z nim przestają działać od razu.
Błędy
| HTTP | status_code | Znaczenie |
|---|---|---|
| 401 | 7 | Klucz nie został podany, ma zły format lub jest nieznany. |
| 401 | 10 | Klucz jest zawieszony. Napisz na support@amodb.dev. |
| 402 | 36 | Twój plan wygasł. Opłać nowy okres na stronie cennika. |
Zobacz błędy, aby poznać wszystkie kody.