הטמעה: תגובות חלקיות

הדוגמאות הבאות מראות איך לאחזר תגובות חלקיות של API ב-YouTube Data API (v3).

הערה: המדריך לתחילת העבודה ב-API כולל פרטים נוספים לגבי בקשות ותגובות חלקיות.

ה-v3 API מאפשר, ולמעשה מחייב אחזור של משאבים חלקיים, כך שאפליקציות מונעות העברה, ניתוח ואחסון של נתונים שאין בהם צורך. הגישה הזו גם מבטיחה שה-API ישתמש במשאבי רשת, מעבד וזיכרון ביעילות רבה יותר.

ממשק ה-API תומך בשני פרמטרים של בקשות, part ו-fields, שמאפשרים לזהות את מאפייני המשאבים שיש לכלול בתגובות על ה-API. הפרמטר part גם מזהה את המאפיינים שיש להגדיר באמצעות בקשות API שמוסיפים או מעדכנים משאבים.

חשוב לדעת שאם בבקשת עדכון לא צוין ערך של נכס משאב שהיה לו בעבר ערך, הערך הקיים יימחק אם יתקיימו התנאים הבאים:

  • הבקשה יכולה לשנות את הערך של הנכס. (לדוגמה, כשמעדכנים משאב video, אפשר לעדכן את הערך של המאפיין snippet.description, אבל אי אפשר לעדכן את הערך של האובייקט snippet.thumbnails.

  • ערך הפרמטר part של הבקשה מציין את החלק של המשאב שמכיל את הנכס.

דוגמה

לדוגמה, נניח שאתם רוצים לעדכן את המשאב video שמוצג למטה. (שימו לב שאפשר לעדכן את כל הנכסים המוצגים בהמשך באמצעות ה-API, והשמטנו את נכסי המשאבים שאינם רלוונטיים לדוגמה).

{
  "snippet": {
    "title": "Old video title",
    "description": "Old video description",
    "tags": ["keyword1","keyword2","keyword3"],
    "categoryId: 22
  },
  "status": {
    "privacyStatus": "private",
    "publishAt": "2014-09-01T12:00:00.0Z",
    "license": "youtube",
    "embeddable": True,
    "publicStatsViewable": True
  }
}

אפשר לקרוא לשיטה videos.update ולהגדיר את ערך הפרמטר part ל-snippet. הגוף של בקשת ה-API מכיל את המשאב הבא:

{
  "snippet": {
    "title": "New video title",
    "tags": ["keyword1","keyword2","keyword3"],
    "categoryId: 22
  }
}

הבקשה הזו מעדכנת את שם הסרטון, מוחקת את התיאור שלו ולא משנה את התגים או את מזהה הקטגוריה שלו. תיאור הסרטון נמחק מפני שהבקשה לא מציינת ערך לנכס snippet.description.

המאפיינים באובייקט status לא מושפעים כלל, כי ערך הפרמטר part לא כלל את status כאחד מהחלקים שהבקשה תעדכן. למעשה, אם הגוף של בקשת ה-API מכיל את האובייקט status, ה-API יחזיר תגובת HTTP של 400 (Bad Request) כי נכלל גוף לא צפוי בגוף הבקשה.