Presentaciones de Google permite que los usuarios colaboren agregando comentarios en diapositivas y elementos de página.
En este documento, se muestra cómo puedes usar la API de Google Slides para leer, crear, responder, actualizar o borrar comentarios de forma programática.
Cómo leer comentarios
Cuando usas el
get método en el
presentations
recurso para recuperar una presentación, los hilos de comentarios y los anclajes se omiten de
forma predeterminada.
Para incluir comentarios en la respuesta, establece el
commentsViewMode
parámetro de consulta en
COMMENTS_VIEW_MODE_INCLUDED.
Además, si el usuario que llama tiene acceso a los comentarios en el archivo, establecer el parámetro de consulta en COMMENTS_VIEW_MODE_DEFAULT_FOR_CURRENT_ACCESS también muestra los comentarios.
Los campos
comments
y
commentAnchors
se muestran en la respuesta.
En la siguiente muestra de código, se muestra cómo usar una solicitud get que recupera los hilos de comentarios y sus anclajes de una presentación:
GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID?commentsViewMode=COMMENTS_VIEW_MODE_INCLUDED&fields=presentationId,comments,slides(objectId,commentAnchors)
En la respuesta, los comentarios se muestran en dos ubicaciones:
- El array
commentsglobal que contiene losCommentThreadobjetos. - El
commentAnchorsarray que contieneCommentAnchorobjetos que asignan IDs de anclaje de comentarios a ubicaciones de páginas o elementos de página (anclajes de objetos).
Cómo leer comentarios en una página específica
También puedes recuperar comentarios y anclajes para una página específica con el
pages.get método en el
presentations.pages recurso.
Establece el parámetro de consulta commentsViewMode para incluir comentarios para el destino de página específico:
GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID/pages/PAGE_ID?commentsViewMode=COMMENTS_VIEW_MODE_INCLUDED&fields=objectId,comments,commentAnchors
Respuesta de muestra
En la siguiente respuesta de muestra en formato JSON, se muestra un hilo de comentarios anclado a un rango de texto dentro de una forma en una página de diapositiva:
{
"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"
}
Cómo crear y administrar comentarios
Puedes agregar, editar y borrar comentarios o respuestas de forma programática con el
batchUpdate
método en el
presentations
recurso.
Cuando realices actualizaciones por lotes que involucren comentarios, debes supervisar posibles fallas parciales. Para obtener más información, consulta Estado de actualización de comentarios.
Cómo insertar un comentario
Para insertar un hilo de comentarios en una presentación, usa el
InsertCommentRequest
objeto. Debes proporcionar el contenido del texto del comentario y la ubicación del anclaje. La ubicación del anclaje debe especificar una de las siguientes opciones:
objectId: Es el ID de objeto de una página de diapositiva o un elemento de página (como una forma o una tabla) al que se anclará el comentario.shapeTextAnchor: Ancla un comentario a un rango de texto en una forma.tableCellTextAnchor: Ancla un comentario a un rango de texto en una celda de tabla.tableAnchor: Ancla un comentario a un rango de celdas en una tabla.
En el siguiente ejemplo de JSON, se muestra cómo agregar un hilo de comentarios anclado a una página de diapositiva:
{
"requests": [
{
"insertComment": {
"content": "This is a comment added using the API.",
"objectId": "SLIDE_PAGE_ID"
}
}
]
}
Puedes asignar un comentario a un usuario específico si proporcionas su correo electrónico en el
assigneeEmailAddress
campo:
{
"requests": [
{
"insertComment": {
"content": "Please review this slide.",
"assigneeEmailAddress": "ASSIGNEE_EMAIL_ADDRESS",
"objectId": "SLIDE_PAGE_ID"
}
}
]
}
Cómo agregar una respuesta o realizar una acción
Para responder a un hilo de comentarios, resolverlo o volver a abrirlo, usa el
AddCommentReplyRequest
objeto.
Debes proporcionar el
commentId
y el
post
, en el que la respuesta está representada por un
Post objeto.
El objeto Post contiene el content de la respuesta y, de manera opcional, puede especificar un
commentAction
(incluida la acción para RESOLVE o REOPEN el hilo de comentarios). Se
representa con un
CommentActionType
objeto.
También puedes reasignar un hilo de comentarios si especificas un assigneeEmail nuevo en el objeto Post.
En el siguiente ejemplo de JSON, se muestra cómo responder a un hilo de comentarios existente:
{
"requests": [
{
"addCommentReply": {
"commentId": "COMMENT_ID",
"post": {
"content": "Replying to the comment thread."
}
}
}
]
}
En el siguiente ejemplo de JSON, se muestra cómo resolver un hilo de comentarios:
{
"requests": [
{
"addCommentReply": {
"commentId": "COMMENT_ID",
"post": {
"commentAction": "RESOLVE"
}
}
}
]
}
Cómo editar una entrada
Para editar el contenido de texto de una entrada que creaste, usa el
UpdateCommentPostRequest
objeto. Debes especificar el commentId del hilo, el postId de la entrada
que deseas editar, y el nuevo texto sin formato
content.
En el siguiente ejemplo de JSON, se muestra cómo editar una entrada:
{
"requests": [
{
"updateCommentPost": {
"commentId": "COMMENT_ID",
"postId": "POST_ID",
"content": "This is the updated comment text."
}
}
]
}
Cómo borrar comentarios y respuestas
Para borrar comentarios y respuestas, tienes dos opciones:
Borrar un hilo de comentarios: Para quitar un
CommentThread, usa el objetoDeleteCommentRequest. Solo puedes borrar un hilo de comentarios si eres el autor del hiloheadPosten el objetoCommentThread.Borrar una respuesta: Para borrar una respuesta específica
Postde unCommentThread, usa elDeleteCommentReplyRequestobjeto. Solo puedes borrar las respuestas que creaste. No puedes borrar las entradas de respuesta que contengan uncommentActiono unassigneeEmail.
En el siguiente ejemplo de JSON, se muestra cómo borrar un hilo de comentarios:
{
"requests": [
{
"deleteComment": {
"commentId": "COMMENT_ID"
}
}
]
}
Estado de actualización de comentarios
Las solicitudes que requieren guardar hilos de comentarios (como insertar comentarios o agregar respuestas) pueden experimentar fallas parciales. En estos casos, los cambios en el modelo de presentación (como la actualización del contenido o los fondos de las diapositivas) se pueden confirmar correctamente, pero es posible que no se guarden los comentarios asociados.
Para verificar si las actualizaciones de comentarios se aplicaron correctamente, consulta el
commentUpdateState
campo en el cuerpo de la respuesta del método presentations.batchUpdate. El campo
está representado por un
CommentUpdateState
objeto.
Los siguientes estados se muestran en CommentUpdateState:
NO_UPDATES_REQUESTED: No se solicitaron actualizaciones de comentarios en la operación por lotes.ALL_SAVED: Todas las actualizaciones de comentarios solicitadas se aplicaron correctamente.ALL_FAILED_UNKNOWN_REASON: No se guardaron todas las actualizaciones de comentarios solicitadas, aunque se hayan confirmado otros cambios en la presentación.