Google สไลด์ช่วยให้ผู้ใช้ทำงานร่วมกันได้ด้วยการเพิ่มความคิดเห็นในสไลด์และองค์ประกอบของหน้า
เอกสารนี้แสดงวิธีใช้ 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)
ในการตอบกลับ ระบบจะแสดงความคิดเห็นใน 2 ตำแหน่ง ดังนี้
- อาร์เรย์
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 การตอบกลับ และสามารถระบุ a
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."
}
}
]
}
ลบความคิดเห็นและการตอบกลับ
หากต้องการลบความคิดเห็นและการตอบกลับ คุณมี 2 ตัวเลือกดังนี้
ลบเธรดความคิดเห็น: หากต้องการนำ
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: การอัปเดตความคิดเห็นที่ขอทั้งหมดบันทึกไม่สำเร็จ แม้ว่าการเปลี่ยนแปลงอื่นๆ ในงานนำเสนออาจได้รับการคอมมิตแล้วก็ตาม