LiveChatMessages

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

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

שיטות

ה-API תומך ב-methods הבאות למשאבים של liveChatMessages:

list
הצגת הודעות בצ'אט בשידור חי בצ'אט ספציפי. כדאי לנסות עכשיו.
הוספה
הוספת הודעה או סקר לצ'אט בשידור חי. כדאי לנסות עכשיו.
מעבר
העברת המצב של הודעה פעילה. כדאי לנסות עכשיו.
מחיקה
מחיקה של הודעת צ'אט. אישור בקשת ה-API חייב להתבצע על ידי הבעלים של הערוץ או מנהל התגובות של הצ'אט בשידור חי. כדאי לנסות עכשיו.

ייצוג משאבים

במבנה הבא של JSON מוצג הפורמט של משאב liveChatMessages:

{
  "kind": "youtube#liveChatMessage",
  "etag": etag,
  "id": string,
  "snippet": {
    "type": string,
    "liveChatId": string,
    "authorChannelId": string,
    "publishedAt": datetime,
    "hasDisplayContent": boolean,
    "displayMessage": string,
    "fanFundingEventDetails": {
      "amountMicros": unsigned long,
      "currency": string,
      "amountDisplayString": string,
      "userComment": string
    },
    "textMessageDetails": {
      "messageText": string
    },
    "messageDeletedDetails": {
      "deletedMessageId": string
    },
    "userBannedDetails": {
      "bannedUserDetails": {
        "channelId": string,
        "channelUrl": string,
        "displayName": string,
        "profileImageUrl": string
      },
      "banType": string,
      "banDurationSeconds": unsigned long
    },
    "memberMilestoneChatDetails": {
      "userComment": string,
      "memberMonth": unsigned integer,
      "memberLevelName": string
    },
    "newSponsorDetails": {
      "memberLevelName": string,
      "isUpgrade": bool
    },
    "superChatDetails": {
      "amountMicros": unsigned long,
      "currency": string,
      "amountDisplayString": string,
      "userComment": string,
      "tier": unsigned integer
    },
    "superStickerDetails": {
      "superStickerMetadata": {
        "stickerId": string,
        "altText": string,
        "language": string
      },
      "amountMicros": unsigned long,
      "currency": string,
      "amountDisplayString": string,
      "tier": unsigned integer
    },
    "pollDetails": {
      "metadata": {
        "options": {
          "optionText": string,
          "questionText": string,
        },
        "status": enum
      },
    },
    "membershipGiftingDetails": {
      "giftMembershipsCount": integer,
      "giftMembershipsLevelName": string
    },
    "giftMembershipReceivedDetails": {
      "memberLevelName": string,
      "gifterChannelId": string,
      "associatedMembershipGiftingMessageId": string
    },
  },
  "authorDetails": {
    "channelId": string,
    "channelUrl": string,
    "displayName": string,
    "profileImageUrl": string,
    "isVerified": boolean,
    "isChatOwner": boolean,
    "isChatSponsor": boolean,
    "isChatModerator": boolean
  },
}

מאפיינים

בטבלה הבאה מוגדרים המאפיינים שמופיעים במשאב הזה:

מאפיינים
kind string
מזהה את הסוג של משאב ה-API. הערך יהיה youtube#liveChatMessage.
etag etag
ה-Etag של משאב זה.
id string
המזהה ש-YouTube מקצה כדי לזהות את ההודעה באופן ייחודי.
snippet object
האובייקט snippet מכיל פרטים חשובים על הודעת הצ'אט.
snippet.type string
סוג ההודעה. המאפיין הזה תמיד קיים, והערך שלו קובע אילו שדות יהיו במשאב.

הערכים החוקיים לנכס הזה הם:
  • chatEndedEvent – הצ'אט הסתיים ואי אפשר להוסיף עוד הודעות אחרי השיחה הזו. זה יקרה באופן טבעי זמן קצר לאחר סיום השידור. הודעה מהסוג הזה לא נשלחת לצ'אטים בשידור חי בשידור ברירת המחדל בערוץ.
  • messageDeletedEvent – מנהל מחק הודעה. השדה author מכיל את פרטי המנהל. לאירוע הזה אין תוכן לתצוגה.
  • sponsorOnlyModeEndedEvent – הצ'אט כבר לא במצב לנותני חסות בלבד, כלומר משתמשים שאינם נותני חסות יכולים עכשיו לשלוח הודעות. לאירוע הזה אין תוכן לתצוגה.
  • sponsorOnlyModeStartedEvent – הצ'אט עבר למצב לנותני חסות בלבד, כך שרק נותני חסות יכולים לשלוח הודעות. לאירוע הזה אין תוכן לתצוגה.
  • newSponsorEvent – משתמש חדש מימן את הערוץ שהצ'אט בשידור חי נמצא בבעלותו. השדות author מכילים את הפרטים של נותן החסות החדש.
  • memberMilestoneChatEvent – משתמש שלח הודעת צ'אט של חברי מועדון שהגיעו לציון דרך.
  • superChatEvent – משתמש רכש Super Chat.
  • superStickerEvent – משתמש רכש Super Sticker.
  • textMessageEvent – משתמש שלח הודעת טקסט.
  • tombstone – מצבה מציינת שכבר הייתה הודעה עם המזהה הזה ושעת הפרסום, אבל היא נמחקה מאז. הוא לא נשלח אחרי שמוחקים הודעה, אלא מוצג בו כדי לציין איפה ההודעה הייתה לפני המחיקה. רק השדות snippet.liveChatId, snippet.type ו-snippet.publishedAt מופיעים בהודעות מהסוג הזה.
  • userBannedEvent – משתמש נחסם על ידי מנהל התגובות. השדה author מכיל את פרטי המנהל.
  • membershipGiftingEvent – משתמש רכש מינויים עבור צופים אחרים.
  • giftMembershipReceivedEvent – משתמש קיבל חברות במועדון במתנה.
  • pollDetails – משתמש יצר סקר בשידור חי.
snippet.liveChatId string
המזהה הייחודי של הצ'אט בשידור חי שאליו ההודעה משויכת. מזהה הצ'אט בשידור חי שמשויך לשידור מוחזר בנכס snippet.liveChatId של המשאב liveBroadcast.
snippet.authorChannelId string
המזהה של המשתמש שכתב את ההודעה. השדה הזה ממולא רק בהודעות מהסוגים הבאים:
  • אם סוג ההודעה הוא textMessageEvent, ערך המאפיין מזהה את המשתמש שכתב את ההודעה.
  • אם סוג ההודעה הוא fanFundingEvent, ערך המאפיין מזהה את המשתמש שמימן את השידור.
  • אם סוג ההודעה הוא messageDeletedEvent, ערך המאפיין מזהה את המנהל שמחק את ההודעה.
  • אם סוג ההודעה הוא newSponsorEvent, ערך המאפיין מזהה את המשתמש שהפך עכשיו לתת חסות.
  • אם סוג ההודעה הוא memberMilestoneChatEvent, ערך המאפיין מזהה את החבר ששלח את ההודעה.
  • אם סוג ההודעה הוא userBannedEvent, ערך המאפיין מזהה את המנהל שחסם את המשתמש.
  • אם סוג ההודעה הוא membershipGiftingEvent, ערך המאפיין מזהה את המשתמש שביצע את הרכישה של חברות במועדון במתנה.
  • אם סוג ההודעה הוא giftMembershipReceivedEvent, ערך המאפיין מציין את המשתמש שקיבל את החברות במועדון במתנה.
  • אם סוג ההודעה הוא pollEvent, ערך המאפיין מזהה את המשתמש שיצר את הסקר בשידור חי.
snippet.publishedAt datetime
התאריך והשעה שבהם ההודעה פורסמה במקור. הערך מצוין בפורמט ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
snippet.hasDisplayContent boolean
מציין אם ההודעה מכילה תוכן שצריך להציג למשתמשים.
snippet.displayMessage string
מכיל מחרוזת שמוצגת למשתמשים. השדה הזה לא מוצג אם סוג ההודעה הוא chatEndedEvent או tombstone.
snippet.fanFundingEventDetails object
הערה: האובייקט הזה ומאפייני הצאצא שלו הוצאו משימוש. החל מ-28 בפברואר 2017, מקורות מידע ב-liveChatMessage לא יחזירו פרטים על אירועים של 'מימון על ידי מעריצים'.

האובייקט הזה מכיל פרטים על אירוע המימון. הסטטוס הזה מופיע רק אם סוג ההודעה הוא fanFundingEvent.
snippet.fanFundingEventDetails.amountMicros unsigned long
הערה: הנכס הזה הוצא משימוש.

סכום הקרן.
snippet.fanFundingEventDetails.currency string
הערה: הנכס הזה הוצא משימוש.

המטבע שבו בוצעה הקרן.
snippet.fanFundingEventDetails.amountDisplayString string
הערה: המאפיין הזה הוצא משימוש.

מחרוזת שעברה רינדור, שמציגה את סכום הקרן והמטבע למשתמש.
snippet.fanFundingEventDetails.userComment string
הערה: הנכס הזה הוצא משימוש.

התגובה שנוספה על ידי המשתמש לאירוע הזה של מימון על ידי מעריצים.
snippet.textMessageDetails object
האובייקט הזה מכיל פרטים על הודעת הטקסט. הסטטוס הזה מופיע רק אם סוג ההודעה הוא textMessageEvent.
snippet.textMessageDetails.messageText string
ההודעה של המשתמש.
snippet.messageDeletedDetails object
האובייקט הזה מכיל פרטים על הודעה שנמחקה על ידי מנהל הצ'אט או על ידי הבעלים של הערוץ של השידור החי. הסטטוס הזה מופיע רק אם סוג ההודעה הוא messageDeletedEvent.
snippet.messageDeletedDetails.deletedMessageId string
המזהה הייחודי של ההודעה שנמחקה. הערך זהה לערך המאפיין id של הודעת הטקסט המקורית. לדוגמה, אם ל-textMessageEvent יש ערך מאפיין id של 123, וההודעה הזו נמחקת לאחר מכן, הערך snippet.messageDeletedDetails.deletedMessageId יהיה 123 עבור ההודעה הזו.

אם לשמור הודעות צ'אט במטמון אחרי השליפה, אפשר להשתמש בערך של המאפיין הזה כדי לזהות את ההודעה שלא צריכה להופיע יותר.
snippet.userBannedDetails object
האובייקט הזה מכיל פרטים על משתמש שנחסם מהצ'אט. ניתן למצוא בו גם פרטים על החסימה עצמה. ניתן לחסום משתמשים מצ'אט באופן סופי או זמני.
snippet.userBannedDetails.bannedUserDetails object
האובייקט הזה מכיל מידע על המשתמש החסום.
snippet.userBannedDetails.bannedUserDetails.channelId string
מזהה ערוץ YouTube של המשתמש החסום.
snippet.userBannedDetails.bannedUserDetails.channelUrl string
כתובת ה-URL של ערוץ YouTube של המשתמש החסום.
snippet.userBannedDetails.bannedUserDetails.displayName string
השם המוצג של ערוץ YouTube של המשתמש החסום.
snippet.userBannedDetails.bannedUserDetails.profileImageUrl string
הדמות של ערוץ YouTube של המשתמש החסום.
snippet.userBannedDetails.banType string
סוג החסימה. הערכים החוקיים לנכס זה הם:
  • קבוע
  • זמני
snippet.userBannedDetails.banDurationSeconds unsigned long
משך האיסור. המאפיין הזה קיים רק אם ערך המאפיין snippet.userBannedDetails.banType הוא temporary.
snippet.memberMilestoneChatDetails object
האובייקט הזה מכיל פרטים על אירוע של חבר מועדון שהגיעו לציון דרך. הסטטוס הזה מופיע רק אם סוג ההודעה הוא memberMilestoneChatEvent.
snippet.memberMilestoneChatDetails.userComment string
התגובה שנוספה על ידי חבר המועדון ל-Chat של חברי מועדון שהגיעו לציון דרך. השדה הזה ריק להודעות ללא תגובה של החבר/ה.
snippet.memberMilestoneChatDetails.memberMonth unsigned integer
מספר החודשים הכולל (סכום מעוגל) שבו הצופה היה חבר והעניק לו את אפשרות הצ'אט הזו של חברי מועדון שהגיעו לציון דרך. מספר החודשים הזה זהה למספר החודשים שמוצג למשתמשי YouTube.
snippet.memberMilestoneChatDetails.memberLevelName string
שם הרמה שבה הצופה חבר. שמות הרמות מוגדרים על ידי הערוץ ב-YouTube שבו מוצע החברות במועדון. יש מצבים שבהם השדה הזה לא מלא.
snippet.newSponsorDetails object
האובייקט הזה מכיל פרטים על האירוע 'הודעה על חבר חדש'. השדה הזה מוגדר רק אם הסוג הוא newSponsorEvent. 'חבר' הוא המונח 'נותן חסות'.
snippet.newSponsorDetails.memberLevelName string
שם הרמה שבה הצופה חבר. שמות הרמות מוגדרים על ידי הערוץ ב-YouTube שבו מוצע החברות במועדון. יש מקרים שבהם השדה הזה לא מלא.
snippet.newSponsorDetails.isUpgrade bool
מציין אם הצופה שודרג לרמה נמוכה יותר. לגבי צופים שלא היו חברי מועדון בזמן הרכישה, הערך בשדה הוא false.
snippet.superChatDetails object
האובייקט הזה מכיל פרטים על אירוע Super Chat. הסטטוס הזה מופיע רק אם סוג ההודעה הוא superChatEvent.
snippet.superChatDetails.amountMicros unsigned long
סכום הרכישה, במיליוניות השנייה של מטבע הרכישה. לדוגמה, אם סכום הרכישה הוא דולר אחד, ערך הנכס snippet.amountMicros הוא 1000000.
snippet.superChatDetails.currency string
המטבע שבו בוצעה הרכישה. הערך הוא קוד מטבע בתקן ISO 4217.
snippet.superChatDetails.amountDisplayString string
מחרוזת כמו $1.00, שמכילה את סכום הרכישה והמטבע. המחרוזת אמורה להיות מוצגת למשתמש.
snippet.superChatDetails.userComment string
התגובה שנוספה על ידי המשתמש לאירוע Super Chat הזה.
snippet.superChatDetails.tier unsigned integer
השכבה של ההודעה בתשלום. חשוב לשים לב שבמשאב superChatEvent, המאפיין snippet.messageType מכיל את הערך הזה.

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

הרמות של Super Chat מתועדות במרכז העזרה של YouTube. (פרטים נוספים על רכישת Super Chat זמינים בקטע המורחב). ברשימה הזו, הרמה עם סכום הרכישה הנמוך ביותר היא רמה 1, הסכום הבא הנמוך ביותר הוא רמה 2 וכן הלאה.
snippet.superStickerDetails object
האובייקט הזה מכיל פרטים על אירוע Super Sticker. הסטטוס הזה מופיע רק אם סוג ההודעה הוא superStickerEvent.
snippet.superStickerDetails.superStickerMetadata object
פרטים על הודעת ה-Super Sticker.
snippet.superStickerDetails.superStickerMetadata.stickerId string
מזהה ייחודי שמזהה את תמונת הסטיקר. לידיעתכם, התמונה מוצגת כחלק מהודעת ה-Super Sticker רק כשמשתמשים צופים בחלון הצ'אט ב-YouTube. עם זאת, כתובת ה-URL של התמונה לא זמינה באמצעות ה-API. לעיון בלבד, תוכלו לבדוק בקובץ ה-CSV אילו מזהי סטיקרים קשורים לכל אחד ממזהי ה-Super Stickers.
snippet.superStickerDetails.superStickerMetadata.altText string
מחרוזת טקסט שמתארת את הסטיקר. השדה snippet.superStickerDetails.superStickerMetadata.language משמש לזיהוי שפת הטקסט. כשקוראים לשיטה liveChatMessages.list, צריך להגדיר את ערך הפרמטר hl לשפה שנבחרה לטקסט.
snippet.superStickerDetails.superStickerMetadata.language string
השפה של הערך של המאפיין snippet.superStickerDetails.superStickerMetadata.altText.
snippet.superStickerDetails.amountMicros unsigned long
סכום הרכישה, במיליוניות השנייה של מטבע הרכישה. לדוגמה, אם סכום הרכישה הוא דולר אחד, ערך הנכס snippet.amountMicros הוא 1000000.
snippet.superStickerDetails.currency string
המטבע שבו בוצעה הרכישה. הערך הוא קוד מטבע בתקן ISO 4217.
snippet.superStickerDetails.amountDisplayString string
מחרוזת כמו $1.00, שמכילה את סכום הרכישה והמטבע. המחרוזת אמורה להיות מוצגת למשתמש.
snippet.superStickerDetails.tier unsigned integer
השכבה של ההודעה בתשלום. חשוב לשים לב שבמשאב superChatEvent, המאפיין snippet.messageType מכיל את הערך הזה.

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

הרמות של Super Chat, שכוללות גם Super Stickers, מתועדות במרכז העזרה של YouTube. (פרטים נוספים על רכישת Super Chat זמינים בקטע המורחב). ברשימה הזו, הרמה עם סכום הרכישה הנמוך ביותר היא רמה 1, הסכום הבא הנמוך ביותר הוא רמה 2 וכן הלאה.
snippet.pollDetails object
האובייקט הזה מכיל פרטים על אירוע בסקר. הסטטוס הזה מופיע רק אם סוג ההודעה הוא pollEvent.
snippet.pollDetails.metadata object
פרטים על אירוע הסקר.
snippet.pollDetails.metadata.options object
האפשרויות בסקר בשידור חי.
snippet.pollDetails.metadata.options.optionText string
הטקסט של האפשרות בסקר בשידור חי.
snippet.pollDetails.metadata.options.questionText string
הטקסט של שאלת הסקר בשידור חי.
snippet.pollDetails.metadata.status enum
הסטטוס של אירוע הסקר בשידור חי. הערכים החוקיים לנכס הזה הם:
  • unknown
  • active
  • closed
snippet.membershipGiftingDetails object
האובייקט הזה מכיל פרטים על אירוע של חברות במועדון במתנה. הוא קיים רק אם הערך של message type הוא membershipGiftingEvent.
snippet.membershipGiftingDetails.giftMembershipsCount integer
מספר החברויות במועדון במתנה שנרכשו על ידי המשתמש.
snippet.membershipGiftingDetails.giftMembershipsLevelName string
השם של רמת החברויות במועדון במתנה שנרכש על ידי המשתמש. שמות הרמות מוגדרים על ידי ערוץ YouTube שבו מציעים את החברות במועדון. יש מקרים שבהם השדה הזה לא מלא.
snippet.giftMembershipReceivedDetails object
האובייקט הזה מכיל פרטים על אירוע שהחברות במועדון במתנה התקבלה. הוא קיים רק אם הערך של message type הוא giftMembershipReceivedEvent.
snippet.giftMembershipReceivedDetails.memberLevelName string
שם הרמה שבה הצופה חבר. הערך הזה תואם לערך snippet.membershipGiftingDetails.giftMembershipsLevelName של ההודעה המשויכת להענקת חברות במועדון במתנה. שמות הרמות מוגדרים על ידי ערוץ YouTube שבו מציעים את החברות במועדון. יש מקרים שבהם השדה הזה לא מלא.
snippet.giftMembershipReceivedDetails.gifterChannelId string
מזהה המשתמש שביצע את הרכישה של החברות במועדון במתנה. הערך הזה תואם לערך snippet.authorChannelId של ההודעה המשויכת להענקת חברות במועדון במתנה.
snippet.giftMembershipReceivedDetails.associatedMembershipGiftingMessageId string
המזהה של ההודעה על חברות במועדון במתנה שקשורה לחברות במועדון במתנה. המזהה הזה יפנה תמיד להודעה שהtype שלה הוא membershipGiftingEvent.
authorDetails object
האובייקט authorDetails מכיל פרטים נוספים על המשתמש שפרסם את ההודעה הזו.
authorDetails.channelId string
מזהה ערוץ YouTube של המחבר.
authorDetails.channelUrl string
כתובת ה-URL של ערוץ YouTube של המחבר.
authorDetails.displayName string
השם המוצג של ערוץ YouTube של המחבר.
authorDetails.profileImageUrl string
כתובת ה-URL של הדמות בערוץ YouTube של המחבר.
authorDetails.isVerified boolean
הערך הזה מציין אם זהות המחבר אומתה על ידי YouTube.
authorDetails.isChatOwner boolean
הערך הזה מציין אם המחבר הוא הבעלים של הצ'אט בשידור חי.
authorDetails.isChatSponsor boolean
הערך הזה מציין אם המחבר הוא נותן חסות לצ'אט בשידור חי.
authorDetails.isChatModerator boolean
הערך הזה מציין אם המחבר הוא מנהל של הצ'אט בשידור חי.