API פרטי אדם
נקודת הקצה של אדם מחזירה שחקן, במאי או איש צוות לפי מזהה ב-GET /3/person/{person_id}. ה-JSON זהה ל-TMDB v3: ביוגרפיה, תאריך לידה, מקום לידה, תמונת פרופיל ומחלקה. נקודות קצה נלוות מחזירות קרדיטים של סרטים, סדרות ומשולבים, מזהים חיצוניים, תמונות פרופיל והרשימה הפופולרית.
קבלת פרטי אדם
GET / מחזיר את רשומת הליבה של אדם אחד: שם, ביוגרפיה, תאריך לידה, מקום לידה, מחלקה, תמונת פרופיל ומזהה IMDb. המזהה הוא מזהה האדם המספרי של TMDB, ולכן Tom Hanks נשאר 31 ו-Leonardo DiCaprio נשאר 6193. אנשים שעובדים מול המצלמה ומאחוריה חולקים מרחב מזהים אחד.
הדוגמה קוראת את Tom Hanks ומצרפת את הקרדיטים המשולבים שלו, ואז מדפיסה את השם, תאריך הלידה, המחלקה הראשית וכמה קרדיטי משחק יש לו.
curl -sSf "https://api.amodb.dev/3/person/31?language=en-US&append_to_response=combined_credits" \
-H "Authorization: Bearer $AMODB_KEY"const url = 'https://api.amodb.dev/3/person/31?language=en-US&append_to_response=combined_credits';
const res = await fetch(url, { headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` } });
if (!res.ok) throw new Error(`amodb returned ${res.status}`);
const person = await res.json();
console.log(person.name, person.birthday, person.known_for_department, person.combined_credits.cast.length);import os
import requests
r = requests.get(
"https://api.amodb.dev/3/person/31",
params={"language": "en-US", "append_to_response": "combined_credits"},
headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
timeout=10,
)
r.raise_for_status()
person = r.json()
print(person["name"], person["birthday"], person["known_for_department"], len(person["combined_credits"]["cast"]))<?php
$url = 'https://api.amodb.dev/3/person/31?language=en-US&append_to_response=combined_credits';
$ch = curl_init($url);
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");
}
$person = json_decode($body, true);
echo $person['name'], ' ', $person['birthday'], ' ', count($person['combined_credits']['cast']), PHP_EOL;package main
import (
"encoding/json"
"fmt"
"net/http"
"os"
"time"
)
type Person struct {
Name string `json:"name"`
Birthday string `json:"birthday"`
Department string `json:"known_for_department"`
PlaceOfBirth string `json:"place_of_birth"`
}
func main() {
req, _ := http.NewRequest("GET", "https://api.amodb.dev/3/person/31?language=en-US", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("AMODB_KEY"))
client := &http.Client{Timeout: 10 * time.Second}
res, err := client.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
if res.StatusCode != http.StatusOK {
panic(res.Status)
}
var p Person
if err := json.NewDecoder(res.Body).Decode(&p); err != nil {
panic(err)
}
fmt.Println(p.Name, p.Birthday, p.Department, p.PlaceOfBirth)
}פרמטרים
person_idנתיבחובהמזהה אדם מספרי, למשל31.api_keyשאילתהאחד משנייםהמפתח שלכם. השתמשו בו או בכותרתAuthorization: Bearer.languageשאילתהתגית TMDB כמוen-USאוru-RU. הביוגרפיה מוחזרת בשפה הזו כשיש תרגום.append_to_responseשאילתהרשימה מופרדת בפסיקים:movie_credits,tv_credits,combined_credits,external_ids,images. שמות לא מוכרים מתעלמים מהם.
שדות התגובה
| שדה | סוג | הערות |
|---|---|---|
id | integer | מזהה האדם. |
name | string | שם להצגה, ב-language המבוקש כשיש תרגום. |
also_known_as | array | שמות וכתיבים חלופיים. |
biography | string | טקסט מתורגם, ריק כשאין תרגום. |
birthday, deathday | string או null | YYYY-MM-DD. הערך deathday הוא null לאנשים חיים. |
place_of_birth | string או null | טקסט חופשי. |
gender | integer | 0 לא צוין, 1 נקבה, 2 זכר, 3 לא בינארי. |
known_for_department | string | התפקיד הראשי, למשל Acting או Directing. |
imdb_id | string או null | מזהה אדם ב-IMDb כמו nm0000158. |
homepage | string או null | אתר רשמי. |
profile_path | string או null | מצרפים ל-https:/. ראו תמונות. |
popularity | number | ציון יחסי שמשמש את הרשימה הפופולרית. |
adult | boolean | תמיד false. אנשי תוכן למבוגרים לא מוגשים לעולם. |
תגובה לדוגמה
GET /, עם ביוגרפיה מקוצרת:
{
"adult": false,
"also_known_as": [
"Thomas Jeffrey Hanks"
],
"biography": "Thomas Jeffrey Hanks (born July 9, 1956) is an American actor and filmmaker. Known for both his comedic and dramatic roles, Hanks is one of the most popular...",
"birthday": "1956-07-09",
"deathday": null,
"gender": 2,
"homepage": null,
"id": 31,
"imdb_id": "nm0000158",
"known_for_department": "Acting",
"name": "Tom Hanks",
"place_of_birth": "Concord, California, USA",
"popularity": 12.98,
"profile_path": "/oFvZoKI6lvU03n4YoNGAll9rkas.jpg"
}נקודות קצה לפילמוגרפיה
שלוש נקודות קצה מציגות את מה שאדם עבד עליו. כולן מקבלות language ומחזירות את המפתחות id, cast ו-crew. כשמצרפים אותן עם append_to_response, המפתח id מושמט.
| שיטה ונתיב | מה מוחזר | פרמטרים נוספים |
|---|---|---|
GET / | סרטים, עם character ו-order ב-cast ו-department ו-job ב-crew | אין |
GET / | סדרות, עם character ב-cast ו-department ו-job ב-crew | אין |
GET / | סרטים וסדרות יחד, כל אחד עם media_type שהוא movie או tv | אין |
פריטי סרטים נושאים title ו-release_date. פריטי סדרות נושאים name ו-first_air_date, ולפריטי שחקנים בסדרות יש גם מפתח episode_count שערכו 0 בנתונים הנוכחיים. הפריטים נושאים גם credit_id, genre_ids, poster_path, vote_average ושאר שדות הרשימה. הקטע שלמטה ממיין קרדיטים משולבים לפי תאריך ומדפיס את חמשת החדשים ביותר.
const credits = person.combined_credits;
const date = (c) => c.release_date || c.first_air_date || '';
const latest = credits.cast.filter((c) => date(c)).sort((a, b) => date(b).localeCompare(date(a))).slice(0, 5);
for (const c of latest) console.log(date(c), c.media_type, c.title || c.name, 'as', c.character);רשימות ותמונות
| שיטה ונתיב | מה מוחזר | פרמטרים נוספים |
|---|---|---|
GET /person/popular | רשימה מדורגת של אנשים פופולריים עם כותרי known_for | language, page |
GET / | תמונות פרופיל במערך profiles | אין |
GET / | imdb_id, wikidata_id, facebook_id, instagram_id, tiktok_id, twitter_id, youtube_id | אין |
פריטים פופולריים מחזיקים id, name, original_name, known_for_department, gender, profile_path, popularity ומערך known_for. העמודים נעים בין 1 ל-500. תמונות פרופיל מכוסות בעמוד תמונות, ומזהים חיצוניים בעמוד חיפוש לפי מזהה חיצוני.
amodb לא מציע תרגומי אנשים, את רשומת האדם החדשה ביותר, תמונות מתויגות או שינויים. בקשו את הביוגרפיה בשפה שאתם צריכים עם הפרמטר language במקום.
שגיאות
| HTTP | status_code | מתי |
|---|---|---|
| 401 | 7 | המפתח חסר או שגוי. |
| 402 | 36 | תקופת המסלול הסתיימה. |
| 404 | 34 | אין אדם עם המזהה הזה, אדם מתחום התוכן למבוגרים, או נתיב שאינו מוצע. |
| 405 | 37 | קראתם לשיטת כתיבה. |
| 429 | 25 | מעל הבקשות שלכם לדקה. המתינו Retry-After שניות. |
הרשימה המלאה בעמוד שגיאות, והחלונות לכל מסלול בעמוד מגבלות קצב.
הערות מעשיות
- פרטי אדם ורשימות קרדיטים נשמרים במטמון 6 שעות. הרשימה הפופולרית נשמרת 30 דקות והעמודים נעים בין 1 ל-500.
- הוסיפו
combined_creditsדרךappend_to_responseבמקום לבצע קריאה שנייה. שתי הדרכים מחזירות אותם נתונים. - ב-
movie_creditsלכל פריטcastיש ערךorder, מיקום האדם בקרדיטים של הסרט הזה. לפריטי סדרות איןorder, ולכן מיינו אותם לפיfirst_air_date. - השתמשו ב-
known_for_departmentכדי להחליט איזו רשימה להציג קודם:castלשחקנים,crewלבמאים ולתסריטאים. - חפשו אדם לפי שם בעמוד חיפוש, ואז השתמשו כאן במזהה שלו.