הטמעה: סרטונים

בדוגמאות הבאות אפשר לראות איך משתמשים ב-YouTube Data API (גרסה 3) כדי לבצע פונקציות שקשורות לסרטונים.

אחזור סרטונים שהועלו לערוץ

בדוגמה הזו מאחזרים את הסרטונים שהועלו לערוץ מסוים. בדוגמה יש שני שלבים:

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

כדי לאחזר את רשימת הסרטונים הפופולריים ביותר, קוראים לפונקציה videos.list ומגדירים את הערך של הפרמטר chart ל-mostPopular. בטבלה mostPopular מופיעים סרטונים פופולריים של מוזיקה, סרטים ומשחקים.

אחר כך, תוכלו להגדיר את הפרמטרים הבאים:

  • regionCode: מנחה את ה-API להחזיר רשימה של סרטונים באזור שצוין. ערך הפרמטר הוא קוד מדינה לפי תקן ISO 3166-1 alpha-2. אפשר להשתמש בשיטה i18nRegions.list כדי לאחזר רשימה של קודי אזורים ש-YouTube תומך בהם.
  • videoCategoryId: מזהה את קטגוריית הסרטונים שצריך לאחזר עבורה את הסרטונים הפופולריים ביותר. אפשר להשתמש ב-method‏ videoCategories.list כדי לאחזר רשימה של מזהי קטגוריות ש-YouTube תומך בהן.

לדוגמה, הבקשה הבאה מאחזרת את סרטוני הספורט הפופולריים ביותר בספרד:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?
        part=snippet
        &chart=mostPopular
        &regionCode=es
        &videoCategoryId=17
  

העלאת סרטון

ממשק APIs Explorer לא תומך בהעלאת קבצים, ולכן התיאור הזה לא מקשר לדוגמה של קובץ הפעלה. מקורות המידע הבאים יעזרו לכם לשנות את האפליקציה כך שתוכלו להעלות סרטונים באמצעות API גרסה 3:

  • בתיעוד של שיטת videos.insert ב-API יש כמה דוגמאות קוד שמסבירות איך להעלות סרטון באמצעות שפות תכנות שונות.

  • במדריך בנושא העלאות שניתן להמשיך מוסבר רצף בקשות ה-HTTP שאפליקציה משתמשת בהן כדי להעלות סרטונים באמצעות תהליך העלאה שניתן להמשיך. המדריך מיועד בעיקר למפתחים שלא יכולים להשתמש בספריות הלקוח של Google API, שחלקן מספקות תמיכה מקורית בהעלאות שניתנות להמשך.

  • בדוגמה של JavaScript להעלאת סרטון נעשה שימוש ב-CORS (שיתוף משאבים בין מקורות) כדי להדגים איך להעלות קובץ סרטון דרך דף אינטרנט. ספריית ההעלאה של CORS שמשמשת את API בגרסה 3 תומכת באופן טבעי בהעלאות שניתן להמשיך. בנוסף, בדוגמה מוסבר איך בודקים את הסטטוס של סרטון שהועלה על ידי אחזור החלק processingDetails של משאב video, ואיך מטפלים בשינויים בסטטוס של הסרטון שהועלה.

בדיקת הסטטוס של סרטון שהועלה

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

  • שלב 1: מעלים את הסרטון

    מתקשרים אל שיטת videos.insert כדי להעלות את הסרטון. אם הבקשה תאושר, תגובת ה-API תכיל משאב video שמזהה את מזהה הסרטון הייחודי של הסרטון שהועלה.

  • שלב 2: בדיקת הסטטוס של הסרטון

    קוראים לשיטה videos.list כדי לבדוק את סטטוס הסרטון. מגדירים את הערך של הפרמטר id למזהה הסרטון שהתקבל בשלב 1. מגדירים את הערך של הפרמטר part ל-processingDetails.

    אם הבקשה מטופלת בהצלחה, התגובה של ה-API תכיל משאב video. כדי לדעת אם מערכת YouTube עדיין מעבדת את הסרטון, בודקים את הערך של מאפיין processingDetails.processingStatus. הערך של המאפיין ישתנה למשהו אחר מלבד processing, כמו succeeded או failed, כש-YouTube יסיים לעבד את הסרטון.

    גוף הבקשה הוא משאב video שבו המאפיין id מציין את מזהה הסרטון של הסרטון שרוצים למחוק. בדוגמה הזו, המשאב מכיל גם אובייקט recordingDetails.

    הבקשה שלמטה בודקת את הסטטוס של סרטון. כדי להשלים את הבקשה ב-APIs Explorer, צריך להגדיר את הערך של המאפיין id.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?
            part=snippet,processingDetails
            &id=VIDEO_ID

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

עדכון סרטון

בדוגמה הזו מוצג איך לעדכן סרטון כדי להוסיף מידע על השעה והמקום שבהם הסרטון צולם. בדוגמה הזו יש את השלבים הבאים:

  • שלב 1: אחזור מזהה הסרטון

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

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

  • שלב 2: עדכון סרטון

    מתקשרים לשיטת videos.update כדי לעדכן סרטון ספציפי. מגדירים את הערך של הפרמטר part ל-recordingDetails. (ערך הפרמטר תלוי בשדות המטא-נתונים של הסרטון שמעדכנים).

    גוף הבקשה הוא משאב video שבו המאפיין id מציין את מזהה הסרטון שרוצים לעדכן. בדוגמה הזו, המשאב מכיל גם אובייקט recordingDetails.

    בדוגמה הבאה של משאב מצוין שהסרטון צולם ב-30 באוקטובר 2013 בבוסטון:

    {
      "id": "VIDEO_ID",
      "recordingDetails": {
        "location": {
          "latitude": "42.3464",
          "longitude": "-71.0975"
        }
        "recordingDate": "2013-10-30T23:15:00.000Z"
      }
    }

    כדי להשלים את הבקשה ב-APIs Explorer, צריך להגדיר את הערך של המאפיין id.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update?
            part=snippet

העלאה של תמונה ממוזערת מותאמת אישית והגדרתה לסרטון

אפשר להשתמש בשיטה thumbnails.set של v3 API כדי להעלות תמונה ממוזערת מותאמת אישית ולהגדיר אותה לסרטון. בבקשה, הערך של הפרמטר videoId מזהה את הסרטון שבו תשתמשו בתמונה הממוזערת.

אי אפשר לבדוק את השאילתה הזו באמצעות API Explorer כי הוא לא תומך בהעלאה של קובצי מדיה, שנדרשת לשיטה הזו.

דוגמאות קוד קשורות: PHP, ‏ Python

מחיקת סרטון

בדוגמה הזו מוסבר איך למחוק סרטון. בדוגמה הזו יש את השלבים הבאים:

  • שלב 1: אחזור מזהה הסרטון

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

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

  • שלב 2: מחיקת סרטון

    כדי למחוק סרטון ספציפי, מבצעים קריאה ל-method‏ videos.delete. בבקשה, הפרמטר id מציין את מזהה הסרטון שאתם מוחקים. הבקשה חייבת להיות מאושרת באמצעות OAuth 2.0. אם אתם בודקים את השאילתה הזו ב-APIs Explorer, תצטרכו להחליף את ערך הפרמטר id במזהה וידאו תקין.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete?
            id=VIDEO_ID
    

דיווח על סרטון פוגע

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

  • שלב 1: אחזור מזהים שמסבירים למה הסרטון מדווח

    שולחים בקשה מורשית לשיטה videoAbuseReportReasons.list כדי לאחזר רשימה של סיבות תקפות לסימון סרטון. בדוגמה של משאב videoAbuseReportReason שמופיעה בהמשך יש מידע על סימון סרטון שמכיל ספאם או תוכן מטעה.

    {
      "kind": "youtube#videoAbuseReportReason",
      "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Or2VqBIilpHU7j__oPzUFCvGVBw\"",
      "id": "S",
      "snippet": {
        "label": "Spam or misleading",
        "secondaryReasons": [
          {
            "id": "27",
            "label": "Spam or mass advertising"
          },
          {
            "id": "28",
            "label": "Misleading thumbnail"
          },
          {
            "id": "29",
            "label": "Malware or phishing"
          },
          {
            "id": "30",
            "label": "Pharmaceutical drugs for sale"
          },
          {
            "id": "31",
            "label": "Other misleading info"
          }
        ]
      }
    }

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

  • שלב 2: דיווח על הסרטון בגלל תוכן פוגע

    שולחים בקשה מורשית אל ה-method videos.reportAbuse כדי לדווח על הסרטון. גוף הבקשה הוא אובייקט JSON שמזהה את הסרטון שמסומן ואת הסיבה לסימון. כמו שצוין בשלב 1, עבור סוגים מסוימים של סיבות, מומלץ מאוד לציין סיבה משנית.

    המאפיין videoId של אובייקט ה-JSON מזהה את הסרטון שמסומן.

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

    {
      "videoId": "VIDEO_ID",
      "reasonId": "S",
      "secondaryReasonId": "28",
      "comments": "Testing the video flagging feature.",
      "language": "en"
    }

    צריך לאשר את הבקשה videos.reportAbuse באמצעות OAuth 2.0. הקישור שלמטה טוען את אובייקט ה-JSON שלמעלה בכלי APIs Explorer. כדי לבדוק את השאילתה, צריך להחליף את ערך המאפיין videoId במזהה סרטון תקין. חשוב לזכור ששליחת הבקשה הזו תגרום לסימון הסרטון.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse