YouTube Reporting API - Get Bulk Data Reports

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

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

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

אחזור דוחות

בשלבים הבאים מוסבר איך לאחזר דוחות שמנוהלים על ידי המערכת באמצעות ה-API.

שלב 1: אחזור פרטי הרשאה

כל הבקשות ל-YouTube Reporting API חייבות להיות מאושרות. במדריך ההרשאות מוסבר איך להשתמש בפרוטוקול OAuth 2.0 כדי לאחזר אסימוני הרשאה.

בקשות ל-YouTube Reporting API משתמשות בהיקפי ההרשאות הבאים:

טווחים
https://www.googleapis.com/auth/yt-analytics.readonly עיון בדוחות YouTube Analytics עבור התוכן שלכם ב-YouTube. ההיקף הזה מספק גישה למדדים של פעילות המשתמשים, כמו מספר הצפיות ומספר הדירוגים.
https://www.googleapis.com/auth/yt-analytics-monetary.readonly עיון בדוחות כספיים של YouTube Analytics לגבי התוכן שלכם ב-YouTube. ההיקף הזה מספק גישה למדדי פעילות המשתמשים ולמדדי ההכנסה המשוערת וביצועי המודעות.

שלב 2: מאחזרים את מזהה המשרה של הדוח הרצוי

קוראים לשיטה jobs.list כדי לאחזר רשימה של משימות שמנוהלות על ידי המערכת. מגדירים את הפרמטר includeSystemManaged לערך true.

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

במסמך Reports מפורטים הדוחות הזמינים, מזהי סוגי הדוחות והשדות שהם מכילים. אפשר גם להשתמש ב-method reportTypes.list כדי לאחזר רשימה של סוגי דוחות נתמכים.

שלב 3: אחזור כתובת ה-URL להורדה של הדוח

מפעילים את השיטה jobs.reports.list כדי לאחזר רשימה של דוחות שנוצרו עבור העבודה. בבקשה, מגדירים את הפרמטר jobId למזהה המשימה של הדוח שרוצים לאחזר.

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

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

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

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

תגובת ה-API מכילה רשימה של משאבי Report עבור העבודה הזו. כל משאב מתייחס לדוח שמכיל נתונים לתקופה ייחודית.

  • המאפיינים startTime ו-endTime של המשאב מזהים את פרק הזמן שהנתונים בדוח מתייחסים אליו.
  • המאפיין downloadUrl של המשאב מזהה את כתובת ה-URL שממנה אפשר לאחזר את הדוח.
  • המאפיין createTime של המשאב מציין את התאריך והשעה שבהם נוצר הדוח. האפליקציה צריכה לשמור את הערך הזה ולהשתמש בו כדי לקבוע אם חלו שינויים בדוחות שהורדו בעבר.

שלב 4: הורדת הדוח

שולחים בקשת HTTP GET ל-downloadUrl שהתקבל בשלב 4 כדי לאחזר את הדוח.

דוחות עיבוד

שיטות מומלצות

אפליקציות שמשתמשות ב-YouTube Reporting API צריכות תמיד לפעול בהתאם לשיטות הבאות:

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

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

    • כשקוראים לשיטה reports.list, משתמשים בפרמטר createdAfter כדי לאחזר רק דוחות שנוצרו אחרי תאריך מסוים. (בפעם הראשונה שמאחזרים דוחות, לא מציינים את הפרמטר createdAfter).

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

      כאמצעי הגנה, לפני שליפת דוח, כדאי גם לבדוק שמזהה הדוח (ID) לא מופיע כבר במסד הנתונים.

    • שומרים את המזהה של כל דוח שהורדתם ועיבדתם. אפשר גם לשמור מידע נוסף כמו התאריך והשעה שבהם נוצר כל דוח, או startTime ו-endTime של הדוח, שביחד מציינים את התקופה שעליה הדוח מכיל נתונים. בדוחות שמאחזרים נתונים בכמות גדולה עבור YouTube Analytics, סביר להניח שיהיו הרבה דוחות כי כל דוח מכיל נתונים לתקופה של 24 שעות. יהיו פחות דוחות לגבי משימות שמנוהלות על ידי המערכת ומתייחסות לתקופות זמן ארוכות יותר.

      אפשר להשתמש במזהה הדוח כדי לזהות דוחות שעדיין צריך להוריד ולייבא. עם זאת, אם לשני דוחות חדשים יש את אותם ערכי מאפיינים של startTime ו-endTime, צריך לייבא רק את הדוח עם הערך החדש יותר של createTime.

מאפייני הדוח

דוחות API הם קבצים עם ערכים מופרדים בפסיקים (CSV) בפורמט עם מספור גרסאות .csv, עם המאפיינים הבאים:

  • כל דוח מכיל נתונים לתקופה ייחודית שמתחילה בשעה 00:00 לפי שעון החוף המערבי בתאריך ההתחלה של הדוח ומסתיימת בשעה 23:59 לפי שעון החוף המערבי בתאריך הסיום של הדוח.

  • הנתונים בדוח לא ממוינים.