ניהול תגובות

ב-Google Slides, המשתמשים יכולים לשתף פעולה על ידי הוספת תגובות לשקפים ולרכיבים בדף.

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

קריאת תגובות

כשמשתמשים בשיטה get במשאב presentations כדי לאחזר מצגת, שרשורי התגובות והעוגנים מושמטים כברירת מחדל.

כדי לכלול תגובות בתשובה, מגדירים את פרמטר השאילתה commentsViewMode לערך COMMENTS_VIEW_MODE_INCLUDED. בנוסף, אם למשתמש שמתקשר יש גישה לתגובות בקובץ, הגדרת פרמטר השאילתה ל-COMMENTS_VIEW_MODE_DEFAULT_FOR_CURRENT_ACCESS מחזירה גם תגובות.

השדות comments ו-commentAnchors מוחזרים בתשובה.

בדוגמת הקוד הבאה אפשר לראות איך להשתמש בבקשת get כדי לאחזר משרשור תגובות ומעוגנים ממצגת:

GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID?commentsViewMode=COMMENTS_VIEW_MODE_INCLUDED&fields=presentationId,comments,slides(objectId,commentAnchors)

בתשובה, התגובות מוחזרות בשני מיקומים:

  • מערך comments הגלובלי שמכיל את אובייקטי CommentThread.
  • מערך commentAnchors שמכיל אובייקטים של CommentAnchor שממפים מזהי עוגנים של תגובות למיקומים בדף או ברכיבי דף (עוגני אובייקטים).

קריאת תגובות בדף ספציפי

אפשר גם לאחזר תגובות ועוגנים לדף ספציפי באמצעות השיטה pages.get במשאב presentations.pages. מגדירים את פרמטר השאילתה commentsViewMode כך שיכלול תגובות לדף היעד הספציפי:

GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID/pages/PAGE_ID?commentsViewMode=COMMENTS_VIEW_MODE_INCLUDED&fields=objectId,comments,commentAnchors

דוגמה לתשובה

תגובת ה-JSON לדוגמה הבאה מציגה שרשור תגובות שמוצמד לטווח טקסט בתוך צורה בדף שקף:

{
  "presentationId": "PRESENTATION_ID",
  "slides": [
    {
      "objectId": "SLIDE_PAGE_ID",
      "commentAnchors": [
        {
          "anchorId": "ANCHOR_ID",
          "objectAnchors": [
            {
              "objectId": "SHAPE_OBJECT_ID",
              "shapeTextAnchors": {
                "ranges": [
                  {
                    "startIndex": 0,
                    "endIndex": 12
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  ],
  "comments": [
    {
      "commentId": "COMMENT_ID",
      "anchorId": "ANCHOR_ID",
      "headPost": {
        "postId": "POST_ID",
        "content": "This is a comment thread head post.",
        "contentHtml": "The content of the post as HTML.",
        "author": {
          "displayName": "DISPLAY_NAME",
          "me": true,
          "user": "users/USER"
        },
        "createTime": "2026-07-01T10:13:12Z",
        "updateTime": "2026-07-01T10:13:12Z"
      },
      "replies": [
        {
          "postId": "REPLY_POST_ID",
          "content": "This is a reply to the comment.",
          "author": {
            "displayName": "DISPLAY_NAME",
            "me": false
          },
          "createTime": "2026-07-01T10:15:00Z",
          "updateTime": "2026-07-01T10:15:00Z"
        }
      ],
      "status": "OPEN"
    }
  ],
  "commentsViewMode": "COMMENTS_VIEW_MODE_INCLUDED"
}

יצירה וניהול של תגובות

אפשר להוסיף, לערוך ולמחוק תגובות או תשובות באופן פרוגרמטי באמצעות השיטה batchUpdate במשאב presentations.

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

הוספת תגובה

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

  • objectId: המזהה של אובייקט בדף שקף או של רכיב בדף (כמו צורה או טבלה) שאליו רוצים לקשר את התגובה.
  • shapeTextAnchor: הוספת עוגן לתגובה בטווח של טקסט בצורה.
  • tableCellTextAnchor: מצמיד הערה לטווח טקסט בתא בטבלה.
  • tableAnchor: הוספת עוגן לתגובה בטווח תאים בטבלה.

דוגמת ה-JSON הבאה מראה איך מוסיפים שרשור תגובות שמקושר לדף שקף:

{
  "requests": [
    {
      "insertComment": {
        "content": "This is a comment added using the API.",
        "objectId": "SLIDE_PAGE_ID"
      }
    }
  ]
}

אפשר להקצות תגובה למשתמש ספציפי על ידי הזנת כתובת האימייל שלו בשדה assigneeEmailAddress:

{
  "requests": [
    {
      "insertComment": {
        "content": "Please review this slide.",
        "assigneeEmailAddress": "ASSIGNEE_EMAIL_ADDRESS",
        "objectId": "SLIDE_PAGE_ID"
      }
    }
  ]
}

הוספת תשובה או ביצוע פעולה

כדי להשיב לשרשור תגובות, לפתור בעיה או לפתוח מחדש שרשור, משתמשים באובייקט AddCommentReplyRequest.

צריך לספק את הערכים של commentId ושל post, כאשר התגובה מיוצגת על ידי אובייקט Post.

אובייקט Post מכיל את התשובה content, ויכול לכלול גם commentAction (כולל הפעולה לRESOLVE או לREOPEN את שרשור התגובות). הוא מיוצג על ידי אובייקט CommentActionType.

אפשר גם להקצות מחדש שרשור תגובות על ידי ציון assigneeEmail חדש באובייקט Post.

דוגמת ה-JSON הבאה מראה איך משיבים לשרשור תגובות קיים:

{
  "requests": [
    {
      "addCommentReply": {
        "commentId": "COMMENT_ID",
        "post": {
          "content": "Replying to the comment thread."
        }
      }
    }
  ]
}

בדוגמת ה-JSON הבאה אפשר לראות איך לפתור שרשור תגובות:

{
  "requests": [
    {
      "addCommentReply": {
        "commentId": "COMMENT_ID",
        "post": {
          "commentAction": "RESOLVE"
        }
      }
    }
  ]
}

עריכת פוסט

כדי לערוך את תוכן הטקסט של פוסט שכתבתם, משתמשים באובייקט UpdateCommentPostRequest. צריך לציין את commentId של השרשור, את postId של הפוסט שרוצים לערוך ואת הטקסט הפשוט החדש content.

בדוגמת ה-JSON הבאה אפשר לראות איך עורכים פוסט:

{
  "requests": [
    {
      "updateCommentPost": {
        "commentId": "COMMENT_ID",
        "postId": "POST_ID",
        "content": "This is the updated comment text."
      }
    }
  ]
}

מחיקת תגובות ותשובות

יש שתי אפשרויות למחיקת תגובות ותשובות:

  • מחיקת שרשור תגובות: כדי להסיר CommentThread שרשור שלם, משתמשים באובייקט DeleteCommentRequest. אפשר למחוק שרשור תגובות רק אם אתם המשתמשים שפרסמו את התגובה הראשונה בשרשור headPost באובייקט CommentThread.

  • מחיקת תשובה: כדי למחוק תשובה ספציפית Post מCommentThread, משתמשים באובייקט DeleteCommentReplyRequest. אתם יכולים למחוק רק תשובות שכתבתם. אי אפשר למחוק פוסטים עם תגובה שמכילים commentAction או assigneeEmail.

דוגמת ה-JSON הבאה מראה איך למחוק שרשור תגובות:

{
  "requests": [
    {
      "deleteComment": {
        "commentId": "COMMENT_ID"
      }
    }
  ]
}

סטטוס עדכון התגובה

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

כדי לבדוק אם העדכונים של התגובות הוחלו בהצלחה, צריך לבדוק את השדה commentUpdateState בגוף התשובה של שיטת presentations.batchUpdate. השדה מיוצג על ידי אובייקט CommentUpdateState.

הסטטוסים הבאים מוחזרים ב-CommentUpdateState:

  • NO_UPDATES_REQUESTED: לא נשלחה בקשה לעדכוני תגובות בפעולת האצווה.
  • ALL_SAVED: כל העדכונים המבוקשים לתגובות בוצעו בהצלחה.
  • ALL_FAILED_UNKNOWN_REASON: כל העדכונים של התגובות שביקשתם לא נשמרו, גם אם שינויים אחרים במצגת נשמרו.