टिप्पणियां, किसी फ़ाइल के बारे में उपयोगकर्ता से मिले सुझाव/राय या शिकायत होती है. जैसे, वर्ड प्रोसेसिंग दस्तावेज़ पढ़ने वाला कोई व्यक्ति, किसी वाक्य को फिर से लिखने का सुझाव देता है. टिप्पणियां दो तरह की होती हैं: ऐंकर की गई टिप्पणियां और ऐंकर नहीं की गई टिप्पणियां. ऐंकर की गई टिप्पणी, किसी खास जगह से जुड़ी होती है. जैसे, किसी दस्तावेज़ के किसी वर्शन में मौजूद वर्ड-प्रोसेसिंग दस्तावेज़ का कोई वाक्य. इसके उलट, किसी टेक्स्ट से न जुड़ी टिप्पणी सिर्फ़ दस्तावेज़ से जुड़ी होती है.
जवाब, टिप्पणियों से जुड़े होते हैं. इनसे पता चलता है कि किसी व्यक्ति ने टिप्पणी का जवाब दिया है. Drive API की मदद से, आपके ऐप्लिकेशन से बनाए गए दस्तावेज़ों में टिप्पणियां और जवाब जोड़े जा सकते हैं. टिप्पणियों और उनके जवाबों को मिलाकर, बातचीत कहा जाता है.
फ़ील्ड पैरामीटर का इस्तेमाल करना
comments
रिसॉर्स पर मौजूद सभी तरीकों (delete
को छोड़कर) के लिए, आपको fields
सिस्टम पैरामीटर को सेट करना ज़रूरी है. इससे यह तय किया जा सकेगा कि रिस्पॉन्स में कौनसे फ़ील्ड दिखाए जाएं. Drive के ज़्यादातर संसाधन तरीकों में, इस कार्रवाई की ज़रूरत सिर्फ़ उन फ़ील्ड को वापस लाने के लिए होती है जो डिफ़ॉल्ट नहीं हैं. हालांकि, comments
संसाधन के लिए यह ज़रूरी है. fields
पैरामीटर शामिल न करने पर, यह तरीका गड़बड़ी का मैसेज दिखाता है. ज़्यादा जानकारी के लिए, चुनिंदा फ़ील्ड की वैल्यू वापस पाना लेख पढ़ें.
टिप्पणी करने से जुड़ी पाबंदियां
Drive API के साथ ऐंकर की गई और ऐंकर नहीं की गई टिप्पणियों का इस्तेमाल करते समय, ये पाबंदियां लागू होती हैं:
टिप्पणी किस तरह की है | फ़ाइल टाइप |
---|---|
ऐंकर किया गया |
|
अनऐंकर्ड |
|
दस्तावेज़ के नए वर्शन में, ऐंकर की गई टिप्पणी जोड़ना
टिप्पणी जोड़ते समय, आपको उसे फ़ाइल के किसी हिस्से से जोड़ना पड़ सकता है. ऐंकर, फ़ाइल में उस जगह को तय करता है जिसके बारे में टिप्पणी की गई है. comments
संसाधन, anchor
फ़ील्ड को JSON स्ट्रिंग के तौर पर तय करता है.
किसी जगह से जुड़ी टिप्पणी जोड़ने के लिए:
(ज़रूरी नहीं). किसी दस्तावेज़ के लिए हर
revisionID
की सूची बनाने के लिए,revisions
संसाधन परlist
तरीके को कॉल करें. इस चरण को सिर्फ़ तब अपनाएं, जब आपको किसी टिप्पणी को सबसे नए वर्शन के अलावा किसी दूसरे वर्शन से जोड़ना हो. अगर आपको सबसे नया वर्शन इस्तेमाल करना है, तोrevisionID
के लिएhead
का इस्तेमाल करें.fileID
पैरामीटर के साथcomments
संसाधन परcreate
तरीके को कॉल करें. इसमेंcomments
संसाधन में टिप्पणी औरrevisionID
(r
) और क्षेत्र (a
) वाली JSON ऐंकर स्ट्रिंग शामिल होती है.
नीचे दिए गए कोड सैंपल में, ऐंकर की गई टिप्पणी बनाने का तरीका बताया गया है:
Python
from google.oauth2.credentials import Credentials
from googleapiclient.errors import HttpError
# --- Configuration ---
# The ID of the file to comment on.
# Example: '1_aBcDeFgHiJkLmNoPqRsTuVwXyZ'
FILE_ID = 'FILE_ID'
# The text content of the comment.
COMMENT_TEXT = 'This is an example of an anchored comment.'
# The line number to anchor the comment to.
# Note: Line numbers are based on the revision.
ANCHOR_LINE = 10
# --- End of user-configuration section ---
SCOPES = ["https://www.googleapis.com/auth/drive"]
creds = Credentials.from_authorized_user_file("token.json", SCOPES)
def create_anchored_comment():
"""
Create an anchored comment on a specific line in a Google Doc.
Returns:
The created comment object or None if an error occurred.
"""
try:
# Build the Drive API service
service = build("drive", "v3", credentials=creds)
# Define the anchor region for the comment.
# For Google Docs, the region is typically defined by 'line' and 'revision'.
# Other file types might use different region classifiers.
anchor = {
'region': {
'kind': 'drive#commentRegion',
'line': ANCHOR_LINE,
'rev': 'head'
}
}
# The comment body.
comment_body = {
'content': COMMENT_TEXT,
'anchor': anchor
}
# Create the comment request.
comment = (
service.comments()
.create(fileId=FILE_ID, fields="*", body=comment_body)
.execute()
)
print(f"Comment ID: {comment.get('id')}")
return comment
except HttpError as error:
print(f"An error occurred: {error}")
return None
create_anchored_comment()
Drive API, comments
संसाधन ऑब्जेक्ट का एक इंस्टेंस दिखाता है. इसमें anchor
स्ट्रिंग शामिल होती है.
बिना ऐंकर की गई टिप्पणी जोड़ना
बिना ऐंकर वाली टिप्पणी जोड़ने के लिए, fileId
पैरामीटर और टिप्पणी वाला comments
संसाधन इस्तेमाल करके create
तरीके को कॉल करें.
टिप्पणी को सादे टेक्स्ट के तौर पर डाला जाता है. हालांकि, जवाब के मुख्य हिस्से में htmlContent
फ़ील्ड होता है. इसमें दिखाने के लिए फ़ॉर्मैट किया गया कॉन्टेंट होता है.
यहां दिए गए कोड सैंपल में, बिना ऐंकर वाली टिप्पणी बनाने का तरीका बताया गया है:
Python
from google.oauth2.credentials import Credentials
from googleapiclient.errors import HttpError
# --- Configuration ---
# The ID of the file to comment on.
# Example: '1_aBcDeFgHiJkLmNoPqRsTuVwXyZ'
FILE_ID = 'FILE_ID'
# The text content of the comment.
COMMENT_TEXT = 'This is an example of an unanchored comment.'
# --- End of user-configuration section ---
SCOPES = ["https://www.googleapis.com/auth/drive"]
creds = Credentials.from_authorized_user_file("token.json", SCOPES)
def create_unanchored_comment():
"""
Create an unanchored comment on a specific line in a Google Doc.
Returns:
The created comment object or None if an error occurred.
"""
try:
# Build the Drive API service
service = build("drive", "v3", credentials=creds)
# The comment body. For an unanchored comment,
# omit the 'anchor' property.
comment_body = {
'content': COMMENT_TEXT
}
# Create the comment request.
comment = (
service.comments()
.create(fileId=FILE_ID, fields="*", body=comment_body)
.execute()
)
print(f"Comment ID: {comment.get('id')}")
return comment
except HttpError as error:
print(f"An error occurred: {error}")
return None
create_unanchored_comment()
किसी टिप्पणी का जवाब देना
किसी टिप्पणी का जवाब देने के लिए, fileId
और commentId
पैरामीटर के साथ replies
संसाधन पर create
तरीके का इस्तेमाल करें. अनुरोध के मुख्य भाग में, जवाब जोड़ने के लिए content
फ़ील्ड का इस्तेमाल किया जाता है.
जवाब को सादे टेक्स्ट के तौर पर डाला जाता है. हालांकि, जवाब के मुख्य हिस्से में htmlContent
फ़ील्ड होता है. इसमें कॉन्टेंट को दिखाने के लिए फ़ॉर्मैट किया जाता है.
यह तरीका, fields
फ़ील्ड में दिए गए फ़ील्ड दिखाता है.
अनुरोध
इस उदाहरण में, हमने fileId
और commentId
पाथ पैरामीटर और कई फ़ील्ड दिए हैं.
POST https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID/replies?fields=id,comment
अनुरोध का मुख्य हिस्सा
{ "content": "This is a reply to a comment." }
किसी टिप्पणी को बंद करना
किसी टिप्पणी को सिर्फ़ उसका जवाब देकर हल किया जा सकता है.
किसी टिप्पणी का समाधान करने के लिए, fileId
और commentId
पैरामीटर के साथ replies
संसाधन पर create
तरीका इस्तेमाल करें.
अनुरोध के मुख्य हिस्से में, टिप्पणी को हल करने के लिए action
फ़ील्ड का इस्तेमाल किया जाता है. content
फ़ील्ड को सेट करके, ऐसा जवाब भी जोड़ा जा सकता है जिससे टिप्पणी बंद हो जाए.
जब किसी टिप्पणी का समाधान हो जाता है, तो Drive उस comments
संसाधन
को resolved: true
के तौर पर मार्क कर देता है. मिटाई गई टिप्पणियों के उलट, बंद की गई टिप्पणियों में htmlContent
या content
फ़ील्ड शामिल हो सकते हैं.
जब आपका ऐप्लिकेशन किसी टिप्पणी को हल कर लेता है, तो आपके यूज़र इंटरफ़ेस (यूआई) में यह दिखना चाहिए कि टिप्पणी को हल कर दिया गया है. उदाहरण के लिए, आपका ऐप्लिकेशन:
- आगे जवाब देने की अनुमति न दें. साथ ही, पिछली सभी टिप्पणियों और मूल टिप्पणी को धुंधला कर दें.
- वे टिप्पणियां छिपाएं जिनका समाधान हो गया है.
अनुरोध
इस उदाहरण में, हमने fileId
और commentId
पाथ पैरामीटर और कई फ़ील्ड दिए हैं.
POST https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID/replies?fields=id,comment
अनुरोध का मुख्य हिस्सा
{ "action": "resolve", "content": "This comment has been resolved." }
कोई टिप्पणी पाना
किसी फ़ाइल पर टिप्पणी पाने के लिए, comments
रिसॉर्स पर get
तरीके का इस्तेमाल करें. इसके लिए, fileId
और commentId
पैरामीटर का इस्तेमाल करें. अगर आपको टिप्पणी का आईडी नहीं पता है, तो list
तरीके का इस्तेमाल करके, सभी टिप्पणियां देखी जा सकती हैं.
यह तरीका, comments
संसाधन का एक इंस्टेंस दिखाता है.
नतीजों में मिटाई गई टिप्पणियों को शामिल करने के लिए, includedDeleted
क्वेरी पैरामीटर को true
पर सेट करें.
अनुरोध
इस उदाहरण में, हमने fileId
और commentId
पाथ पैरामीटर और कई फ़ील्ड दिए हैं.
GET https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID?fields=id,comment,modifiedTime,resolved
टिप्पणियां दिखाएं
किसी फ़ाइल पर टिप्पणियां दिखाने के लिए, comments
रिसॉर्स पर list
तरीके का इस्तेमाल करें. इसके लिए, fileId
पैरामीटर का इस्तेमाल करें. यह तरीका, टिप्पणियों की सूची दिखाता है.
टिप्पणियों के पेज नंबर बदलने या उन्हें फ़िल्टर करने के लिए, यहां दिए गए क्वेरी पैरामीटर पास करें:
includeDeleted
: मिटाई गई टिप्पणियों को शामिल करने के लिए, इसेtrue
पर सेट करें. मिटाई गई टिप्पणियों मेंhtmlContent
याcontent
फ़ील्ड शामिल नहीं होते.pageSize
: हर पेज पर टिप्पणियों की ज़्यादा से ज़्यादा संख्या.pageToken
: यह एक पेज टोकन है, जो सूची बनाने के लिए किए गए पिछले कॉल से मिला है. अगला पेज पाने के लिए, यह टोकन दें.startModifiedTime
: नतीजों के बारे में टिप्पणी करने के लिए,modifiedTime
फ़ील्ड की कम से कम वैल्यू.
अनुरोध
इस उदाहरण में, हमने fileId
पाथ पैरामीटर, includeDeleted
क्वेरी पैरामीटर, और कई फ़ील्ड दिए हैं.
GET https://www.googleapis.com/drive/v3/files/FILE_ID/comments?includeDeleted=true&fields=(id,comment,kind,modifiedTime,resolved)
किसी टिप्पणी को अपडेट करना
किसी फ़ाइल पर की गई टिप्पणी को अपडेट करने के लिए, fileId
और commentId
पैरामीटर के साथ comments
संसाधन पर update
तरीके का इस्तेमाल करें. अनुरोध के मुख्य हिस्से में, टिप्पणी को अपडेट करने के लिए content
फ़ील्ड का इस्तेमाल किया जाता है.
comments
संसाधन पर मौजूद बूलियन resolved
फ़ील्ड को सिर्फ़ पढ़ा जा सकता है. किसी टिप्पणी को सिर्फ़ तब बंद किया जा सकता है, जब उसका जवाब दिया गया हो. ज़्यादा जानकारी के लिए, टिप्पणी हल करना लेख पढ़ें.
यह तरीका, fields
क्वेरी पैरामीटर में दिए गए फ़ील्ड दिखाता है.
अनुरोध
इस उदाहरण में, हमने fileId
और commentId
पाथ पैरामीटर और कई फ़ील्ड दिए हैं.
PATCH https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID?fields=id,comment
अनुरोध का मुख्य हिस्सा
{ "content": "This comment is now updated." }
टिप्पणी मिटाना
किसी फ़ाइल पर की गई टिप्पणी को मिटाने के लिए, fileId
और commentId
पैरामीटर के साथ comments
संसाधन पर delete
तरीके का इस्तेमाल करें.
किसी टिप्पणी को मिटाने पर, Drive टिप्पणी के संसाधन को deleted: true
के तौर पर मार्क करता है. मिटाई गई टिप्पणियों में htmlContent
या content
फ़ील्ड शामिल नहीं होते.
अनुरोध
इस उदाहरण में, हमने fileId
और commentId
पाथ पैरामीटर दिए हैं.
DELETE https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID