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

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

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

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

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

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

  • regionCode: מורה ל-API להחזיר רשימה של סרטונים לאזור שצוין.
  • videoCategoryId: מזהה את קטגוריית הסרטונים שאליה צריך לאחזר את הסרטונים הפופולריים ביותר.

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

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

העלאת סרטון

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

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

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

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

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

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

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

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

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

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

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

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

    הבקשה הבאה בודקת את הסטטוס של סרטון. כדי להשלים את הבקשה ב-API 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"
      }
    }

    כדי להשלים את הבקשה ב-API Explorer, צריך להגדיר את הערך של נכס id.

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

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

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

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

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

מחיקת סרטון

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

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

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

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

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

    כדי למחוק סרטון ספציפי, קוראים ל-method‏ videos.delete. בבקשה, הפרמטר id מציין את מזהה הסרטון שרוצים למחוק. צריך לאשר את הבקשה באמצעות OAuth 2.0. אם אתם בודקים את השאילתה הזו ב-API 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 שלמעלה ב-API Explorer. כדי לבדוק את השאילתה, צריך להחליף את ערך הנכס videoId במזהה סרטון חוקי. חשוב לזכור ששליחת הבקשה הזו תגרום לסימון הסרטון.

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