Google Slides में, लोगों को साथ मिलकर काम करने की सुविधा मिलती है. इसके लिए, वे स्लाइड और पेज के एलिमेंट पर टिप्पणियां जोड़ सकते हैं.
इस दस्तावेज़ में बताया गया है कि Google Slides 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)
जवाब में, टिप्पणियां दो जगहों पर दिखती हैं:
- ग्लोबल
commentsऐरे, जिसमेंCommentThreadऑब्जेक्ट शामिल होते हैं. commentAnchorsऐरे में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: यह स्लाइड पेज या पेज तत्व (जैसे कि कोई शेप या टेबल) का ऑब्जेक्ट आईडी होता है. इसका इस्तेमाल, टिप्पणी को एंकर करने के लिए किया जाता है.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."
}
}
]
}
टिप्पणियां और जवाब मिटाना
टिप्पणियां और जवाब मिटाने के लिए, आपके पास ये दो विकल्प हैं:
किसी टिप्पणी थ्रेड को मिटाना: पूरे
CommentThreadको हटाने के लिए,DeleteCommentRequestऑब्जेक्ट का इस्तेमाल करें. किसी टिप्पणी के थ्रेड को सिर्फ़ तब मिटाया जा सकता है, जब आपCommentThreadऑब्जेक्ट में थ्रेड केheadPostहों.किसी जवाब को मिटाना: किसी
CommentThreadसेPostजवाब को मिटाने के लिए,DeleteCommentReplyRequestऑब्जेक्ट का इस्तेमाल करें. सिर्फ़ वे जवाब मिटाए जा सकते हैं जिन्हें आपने लिखा है.commentActionयाassigneeEmailवाली जवाब पोस्ट नहीं मिटाई जा सकतीं.
नीचे दिए गए JSON के उदाहरण में, टिप्पणी थ्रेड को मिटाने का तरीका बताया गया है:
{
"requests": [
{
"deleteComment": {
"commentId": "COMMENT_ID"
}
}
]
}
टिप्पणी अपडेट करने की स्थिति
टिप्पणी थ्रेड सेव करने के अनुरोध (जैसे, टिप्पणियां डालना या जवाब जोड़ना) पूरे नहीं हो सकते. इन मामलों में, प्रज़ेंटेशन मॉडल में किए गए बदलाव (जैसे, स्लाइड के कॉन्टेंट या बैकग्राउंड को अपडेट करना) सेव हो सकते हैं. हालांकि, इससे जुड़ी टिप्पणियां सेव नहीं हो सकती हैं.
presentations.batchUpdate तरीके के जवाब के मुख्य हिस्से में मौजूद commentUpdateState फ़ील्ड की वैल्यू देखकर, यह पुष्टि की जा सकती है कि टिप्पणी से जुड़े अपडेट लागू हुए हैं या नहीं. इस फ़ील्ड को CommentUpdateState ऑब्जेक्ट के तौर पर दिखाया जाता है.
CommentUpdateState में ये स्थितियां दिखती हैं:
NO_UPDATES_REQUESTED: बैच ऑपरेशन में, टिप्पणी के अपडेट का कोई अनुरोध नहीं किया गया था.ALL_SAVED: टिप्पणी में बदलाव करने के सभी अनुरोध पूरे किए गए.ALL_FAILED_UNKNOWN_REASON: टिप्पणी से जुड़े अपडेट सेव नहीं किए जा सके. हालांकि, प्रज़ेंटेशन में किए गए अन्य बदलाव सेव हो गए होंगे.