בחירה לפי צורת הקריאות
בחרו ב-OMDb כשאתם רוצים רשומה קטנה אחת לכל כותר והמפתח החינמי שלו מספיק לנפח שלכם. בחרו ב-amodb כשגדלתם מעבר לזה, או כשאתם רוצים את אותו סגנון בקשות של OMDb לצד קרדיטים, תמונות ותרגומים על מפתח אחד. OMDb מחזיר JSON או XML, משתמש בפרמטר apikey ומציע מפתח חינמי עם מכסה יומית של 1,000 בקשות (ראו באתר שלהם) וכן מסלול תומכים בתשלום. amodb הוא בתשלום בלבד ועונה לפרמטרים העיקריים של OMDb וגם ל-TMDB v3.
מה נשאר אותו דבר
נקודת הקצה של OMDb נמצאת ב-https:/, והסלאש בסוף אופציונלי. קוד הניתוח הקיים שלכם לא אמור להזדקק לעריכות עבור הרכיבים האלה.
| רכיב ב-OMDb | ב-amodb |
|---|---|
apikey | אותו פרמטר, עם מפתח amodb שלכם |
i ו-t | חיפוש לפי מזהה IMDb או לפי כותרת |
s ו-page | חיפוש עם 10 תוצאות בעמוד וספירת totalResults, page עד 100 |
type ו-y | סינון לפי movie או series ולפי שנה |
plot | short או full |
r | רק json מתקבל |
| שדות גוף התגובה | בשמות של OMDb, מ-Title עד Response |
Ratings | מערך של זוגות Source ו-Value עבור Internet Movie Database, Rotten Tomatoes ו-Metacritic, כשהם קיימים |
| שגיאות | {"Response":"False", בניסוח של OMDb, בתגובת HTTP 200 |
מה לא עובר
- XML. בקשה עם
r=xmlמחזירה 400 עם{"Response":"False",."Error":"Only r= json is supported."} - עונות ופרקים.
Seasonו-Episodeמתעלמים מהם, ו-type=episodeלא מוצא כלום. בקשה עםi=tt0903747&Season=1מחזירה את רשומת הסדרה, לא עונה. לפרקים השתמשו ב-/3/tv/{id}/season/{n}. - פרמטרים אחרים.
callbackמתעלמים ממנו. - שדות בלי נתונים.
DVD,Productionו-Websiteהם תמיד"N/A". לרשומות סדרה ישtotalSeasonsוהן משמיטות אתDVD,BoxOffice,Productionו-Website. - פוסטרים. השדה
Posterמצביע עלhttps:/ולא על מארח אחר. החליפו את/ img.amodb.dev/ t/ p/ w300/ ... w300ב-w780כדי לקבל תמונה גדולה יותר מאותו נתיב, ותמונות לא דורשות מפתח.
הרשימה המלאה של הפרמטרים והשגיאות נמצאת בעמוד נקודת הקצה OMDb.
תגובה לדוגמה
בקשה עם t=Fight Club מחזירה אובייקט שטוח. התגובה למטה אמיתית, ורק הטקסט של Plot קוצר.
{
"Title": "Fight Club",
"Year": "1999",
"Rated": "R",
"Released": "15 Oct 1999",
"Runtime": "139 min",
"Genre": "Crime, Drama, Thriller",
"Director": "David Fincher",
"Writer": "Chuck Palahniuk, Jim Uhls",
"Actors": "Brad Pitt, Edward Norton, Meat Loaf",
"Plot": "A nameless first-person narrator attends support groups in an attempt to subdue his emotional state an...",
"Language": "English",
"Country": "United States, Germany",
"Awards": "Nominated for 1 Oscar. 12 wins & 38 nominations total",
"Poster": "https://img.amodb.dev/t/p/w300/qkrH7rjYKU4KOwwIl6wF6H3ISvm.jpg",
"Ratings": [
{
"Source": "Internet Movie Database",
"Value": "8.8/10"
},
{
"Source": "Rotten Tomatoes",
"Value": "81%"
},
{
"Source": "Metacritic",
"Value": "67/100"
}
],
"Metascore": "67",
"imdbRating": "8.8",
"imdbVotes": "2,669,989",
"imdbID": "tt0137523",
"Type": "movie",
"DVD": "N/A",
"BoxOffice": "$38,003,039",
"Production": "N/A",
"Website": "N/A",
"Response": "True"
}הערכים הם מחרוזות, כמו ב-OMDb, ולכן נתחו בעצמכם את imdbRating, את imdbVotes ואת Runtime. כל קריאה נספרת כבקשה אחת במגבלת הדקה שלכם, בלי קשר לכמה שדות אתם קוראים.
השוואת תכונות
| תכונה | OMDb | amodb |
|---|---|---|
| מודל תמחור | מפתח חינמי ומסלול תומכים בתשלום, ראו באתר שלהם | תקופות בתשלום מראש, 1 עד 24 חודשים |
| מסלול חינמי | מפתח חינמי עם מכסה יומית של 1,000, ראו באתר שלהם | אין, וגם אין תקופת ניסיון |
| אימות | פרמטר apikey | apikey ב-/omdb/, api_key או Bearer ב-/3 |
| פורמט תגובה | JSON או XML | JSON |
| שפות | ראו במסמכים שלהם | 14 שפות ממשק בנתיבי /3 |
| סרטים | כן | כן |
| סדרות | סדרות ופרקים, את השדות ראו במסמכים שלהם | רשומות סדרה ב-/omdb/, עונות ופרקים בנתיבי /3 |
| אנשים | שמות כטקסט בכל רשומה | פרופילים, פילמוגרפיה ותמונות בנתיבי /3 |
| תמונות | קישור לפוסטר בכל רשומה | קישור לפוסטר ורשימות תמונות, img.amodb.dev |
| דירוגים | השדות Ratings, Metascore ו-imdbRating | אותם שדות, ובנוסף אובייקט ratings בנתיבי /3 |
| מגבלת קצב | מכסה יומית במפתח החינמי, ראו באתר שלהם | 20, 40 או 120 לדקה לכל מפתח |
| שימוש מסחרי | ראו באתר שלהם | נמכר כ-API בתשלום, ראו תמחור |
| תאימות | מגדיר את פרוטוקול OMDb | פרמטרי OMDb שלמעלה, וקריאות של TMDB v3 |
במה amodb שונה
- מגבלות לדקה. המסלולים מאפשרים 20, 40 או 120 בקשות לדקה בחלון נע של 60 שניות. בכל תגובה עם מפתח יש
X-RateLimit-Remaining, כך שמשימת אצווה יכולה להאט את עצמה לפני שהיא רואה 429. - דרך להתקדם מעבר לרשומות בודדות. ברשומת OMDb רשימת השחקנים היא טקסט. בנתיבי
/3אפשר לבקש את אותו כותר עם קרדיטים, סרטונים ותרגומים בקריאה אחת, וה-imdbIDמוצא את הרשומה דרך/3/find. - תמונות גדולות יותר. רשומות בסגנון OMDb נותנות קישור פוסטר אחד. שרת התמונות מגיש עשרה מזהי גודל, מ-
w92עדoriginal. - עוד מקורות דירוג. ההרחבה
/3/movie/{id}/ratingsמוסיפה ערכים של Kinopoisk, Metacritic, Rotten Tomatoes ו-TMDB כשהם ידועים.
מתי OMDb מתאים יותר
- פרויקטים קטנים או חינמיים. מפתח חינמי עם מכסה יומית של 1,000 מספיק לאב טיפוס או לאתר תחביב, ול-amodb אין מסלול חינמי.
- צרכני XML. אם מערכת ישנה מנתחת XML, OMDb מציע אותו ו-amodb לא.
- חיפושי עונות ופרקים. לנתיב
/omdb/של amodb אין מצב של עונה או פרק, ולכן לקוח שנבנה עליו צריך להשתמש בנתיבי/3במקום. - פשטות. נקודת קצה אחת ומעט פרמטרים קל ללמוד. אם זה כל מה שאתם צריכים, תרוויחו מעט מהמעבר.
מעבר ל-amodb
רק כתובת הבסיס והמפתח משתנים. השאירו את שאר הבקשה כפי שהיא, אחרי שחיפשתם בקוד את r=xml, Season, Episode ו-type=episode.
const OMDB_BASE = process.env.OMDB_BASE_URL; // before: your current OMDb base URL
const AMODB_BASE = 'https://api.amodb.dev/omdb/'; // after
async function lookup(title) {
const url = new URL(AMODB_BASE);
url.searchParams.set('apikey', process.env.AMODB_KEY);
url.searchParams.set('t', title);
url.searchParams.set('plot', 'short');
const res = await fetch(url);
const data = await res.json();
if (data.Response === 'False') throw new Error(data.Error);
return data;
}
const movie = await lookup('Fight Club');
console.log(movie.Title, movie.Year, movie.imdbRating, movie.Poster);המשיכו לבדוק את השדה Response, כפי שעשיתם עם OMDb. כשהערך הוא המחרוזת "False", השדה Error נושא את ההודעה. לפרקים, מפו את ה-imdbID פעם אחת עם /3/find וקראו עונות מצד ה-/3:
curl -s "https://api.amodb.dev/3/find/tt0903747?external_source=imdb_id&api_key=$AMODB_KEY"
curl -s "https://api.amodb.dev/3/tv/1396/season/1?api_key=$AMODB_KEY"לצד של סגנון TMDB ראו אימות ואת המדריך למתחילים.
תמחור
amodb הוא בתשלום, ומתחדש רק כשאתם קונים תקופה נוספת. שלושת המסלולים נבדלים רק בקצב, 20, 40 או 120 בקשות לדקה, וכל אחד מחזיר את כל הנתונים. התקופות הן 1, 3, 6, 12 או 24 חודשים, ובארוכות יותר יש הנחה של 10 עד 40 אחוז. הסכומים העדכניים ראו בעמוד תמחור.