Google スライドでは、スライドやページ要素にコメントを追加して共同作業を行うことができます。
このドキュメントでは、Google スライド API を使用して、コメントの読み取り、作成、返信、更新、削除をプログラムで行う方法について説明します。
コメントの閲覧
`
presentations
` リソースで `
get` メソッドを使用してプレゼンテーションを取得する場合、コメント スレッドとアンカーは `
` デフォルトで省略されます。
レスポンスにコメントを含めるには、
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配列。コメント アンカー ID をページまたはページ要素の場所 (オブジェクト アンカー)にマッピングするCommentAnchorオブジェクトが含まれています。
特定のページのコメントを読み取る
`
presentations.pages` リソースの `
pages.get` メソッドを使用して、特定のページのコメントとアンカーを取得することもできます。
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"
}
コメントの作成と管理
presentations
リソースの
batchUpdate
メソッドを使用して、コメントや返信の追加、編集、削除をプログラムで行うことができます。
コメントを含むバッチ更新を行う場合は、部分的な失敗の可能性をモニタリングする必要があります。詳細については、コメントの更新 ステータスをご覧ください。
コメントを挿入する
プレゼンテーションにコメント スレッドを挿入するには、
InsertCommentRequest
オブジェクトを使用します。コメントのテキスト コンテンツとアンカーの位置を指定する必要があります。アンカーの位置には、次のいずれかを指定する必要があります。
objectId: コメントを固定するスライドページまたはページ要素(図形や表など)のオブジェクト ID。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オブジェクトで表されます。
Post オブジェクトに新しい assigneeEmail を指定して、コメント スレッドを再割り当てすることもできます。
次の 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: 他のプレゼンテーションの変更がコミットされた場合でも、リクエストされたコメントの更新を保存できませんでした。