মন্তব্য হলো ব্যবহারকারীর দ্বারা প্রদত্ত একটি ফাইলের প্রতিক্রিয়া, যেমন একটি ওয়ার্ড-প্রসেসিং ডকুমেন্টের পাঠক, যা একটি বাক্যকে কীভাবে পুনঃফ্রেজ করতে হয় তা পরামর্শ দেয়। দুই ধরণের মন্তব্য রয়েছে: অ্যাঙ্করড মন্তব্য এবং আনঅ্যাঙ্করড মন্তব্য । একটি অ্যাঙ্করড মন্তব্য একটি নির্দিষ্ট অবস্থানের সাথে সম্পর্কিত, যেমন একটি ওয়ার্ড-প্রসেসিং ডকুমেন্টের একটি বাক্য, একটি নথির একটি নির্দিষ্ট সংস্করণের মধ্যে। বিপরীতভাবে, একটি আনঅ্যাঙ্করড মন্তব্য কেবল নথির সাথে সম্পর্কিত।
উত্তরগুলি মন্তব্যের সাথে সংযুক্ত থাকে এবং মন্তব্যের প্রতি ব্যবহারকারীর প্রতিক্রিয়া উপস্থাপন করে। ড্রাইভ API আপনার ব্যবহারকারীদের আপনার অ্যাপ দ্বারা তৈরি নথিতে মন্তব্য এবং উত্তর যোগ করতে দেয়। সম্মিলিতভাবে, উত্তর সহ একটি মন্তব্যকে আলোচনা বলা হয়।
ক্ষেত্র প্যারামিটার ব্যবহার করুন
comments রিসোর্সের সকল পদ্ধতির জন্য ( delete বাদে), আপনাকে প্রতিক্রিয়ায় ফিরে আসার জন্য ক্ষেত্রগুলি নির্দিষ্ট করার জন্য fields সিস্টেম প্যারামিটার সেট করতে হবে । বেশিরভাগ ড্রাইভ রিসোর্স পদ্ধতিতে এই ক্রিয়াটি কেবল অ-ডিফল্ট ক্ষেত্রগুলি ফিরিয়ে দেওয়ার জন্য প্রয়োজন, তবে comments রিসোর্সের জন্য এটি বাধ্যতামূলক। যদি আপনি fields প্যারামিটারটি বাদ দেন, তাহলে পদ্ধতিটি একটি ত্রুটি ফেরত দেয়। আরও তথ্যের জন্য, নির্দিষ্ট ক্ষেত্রগুলি ফেরত দিন দেখুন।
মন্তব্যের সীমাবদ্ধতা
ড্রাইভ এপিআই ব্যবহার করে অ্যাঙ্কার্ড এবং আনঅ্যাঙ্কার্ড মন্তব্যের সাথে কাজ করার সময় নিম্নলিখিত সীমাবদ্ধতাগুলি প্রয়োগ করা হয়:
| মন্তব্যের ধরণ | ফাইলের ধরণ |
|---|---|
| নোঙর করা |
|
| অসংলগ্ন |
|
একটি নথির সর্বশেষ সংস্করণে একটি অ্যাঙ্কর করা মন্তব্য যোগ করুন
যখন আপনি একটি মন্তব্য যোগ করেন, তখন আপনি এটি ফাইলের একটি অঞ্চলে অ্যাঙ্কর করতে চাইতে পারেন। একটি অ্যাঙ্কর একটি ফাইলের এমন একটি অঞ্চলকে সংজ্ঞায়িত করে যেখানে একটি মন্তব্য উল্লেখ করে। comments সংস্থান anchor ক্ষেত্রটিকে একটি JSON স্ট্রিং হিসাবে সংজ্ঞায়িত করে।
একটি অ্যাঙ্করড মন্তব্য যোগ করতে:
(ঐচ্ছিক)। একটি ডকুমেন্টের প্রতিটি
revisionIDতালিকাভুক্ত করার জন্যrevisionsরিসোর্সেlistপদ্ধতিতে কল করুন। সর্বশেষ রিভিশন ছাড়া অন্য কোনও রিভিশনে মন্তব্য অ্যাঙ্কর করতে চাইলে শুধুমাত্র এই ধাপটি অনুসরণ করুন। আপনি যদি সর্বশেষ রিভিশন ব্যবহার করতে চান, তাহলেrevisionIDজন্যheadব্যবহার করুন।fileIDপ্যারামিটার, মন্তব্য ধারণকারী একটিcommentsসম্পদ এবংrevisionID(r) এবং region (a) ধারণকারী একটি JSON অ্যাঙ্কর স্ট্রিং সহcommentsসম্পদেcreateপদ্ধতিটি কল করুন।
নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে একটি অ্যাঙ্করড মন্তব্য তৈরি করতে হয়:
পাইথন
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()
ড্রাইভ এপিআই comments রিসোর্স অবজেক্টের একটি উদাহরণ প্রদান করে যার মধ্যে anchor স্ট্রিং অন্তর্ভুক্ত থাকে।
একটি আনঅ্যাঙ্কর করা মন্তব্য যোগ করুন
একটি আনঅ্যাঙ্করড মন্তব্য যোগ করতে, fileId প্যারামিটার এবং মন্তব্য ধারণকারী একটি comments রিসোর্স সহ create পদ্ধতিটি কল করুন।
মন্তব্যটি প্লেইন টেক্সট হিসেবে ঢোকানো হয়েছে, কিন্তু রেসপন্স বডিতে একটি htmlContent ফিল্ড রয়েছে যেখানে প্রদর্শনের জন্য ফর্ম্যাট করা কন্টেন্ট রয়েছে।
নিচের কোড নমুনাটি দেখায় কিভাবে একটি আনঅ্যাঙ্করড মন্তব্য তৈরি করতে হয়:
পাইথন
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 ফিল্ডটি এমন একটি উত্তর যোগ করার জন্যও সেট করতে পারেন যা মন্তব্যটি বন্ধ করে দেয়।
যখন কোনও মন্তব্য সমাধান করা হয়, তখন ড্রাইভ comments রিসোর্সটিকে resolved: true হিসেবে চিহ্নিত করে। মুছে ফেলা মন্তব্যের বিপরীতে, সমাধান করা মন্তব্যগুলিতে htmlContent বা content ক্ষেত্র অন্তর্ভুক্ত থাকতে পারে।
যখন আপনার অ্যাপ কোনও মন্তব্যের সমাধান করে, তখন আপনার UI নির্দেশ করবে যে মন্তব্যটি সম্বোধন করা হয়েছে। উদাহরণস্বরূপ, আপনার অ্যাপটি হতে পারে:
- পরবর্তী উত্তর বাতিল করুন এবং পূর্ববর্তী সমস্ত উত্তর এবং মূল মন্তব্যটি অস্পষ্ট করুন।
- সমাধান করা মন্তব্যগুলি লুকান।
অনুরোধ
এই উদাহরণে, আমরা 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."
}একটি মন্তব্য পান
কোনও ফাইলে মন্তব্য পেতে, fileId এবং commentId প্যারামিটার সহ comments রিসোর্সে get পদ্ধতিটি ব্যবহার করুন। যদি আপনি মন্তব্য আইডিটি না জানেন, তাহলে আপনি list পদ্ধতি ব্যবহার করে সমস্ত মন্তব্য তালিকাভুক্ত করতে পারেন।
পদ্ধতিটি একটি comments রিসোর্সের একটি উদাহরণ প্রদান করে।
ফলাফলে মুছে ফেলা মন্তব্য অন্তর্ভুক্ত করতে, includedDeleted কোয়েরি প্যারামিটারটিকে true তে সেট করুন।
অনুরোধ
এই উদাহরণে, আমরা fileId এবং commentId পাথ প্যারামিটার এবং একাধিক ক্ষেত্র প্রদান করি।
GET https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID?fields=id,comment,modifiedTime,resolved
মন্তব্য তালিকাভুক্ত করুন
কোনও ফাইলে মন্তব্য তালিকাভুক্ত করতে, fileId প্যারামিটার সহ comments রিসোর্সে list পদ্ধতিটি ব্যবহার করুন। পদ্ধতিটি মন্তব্যের একটি তালিকা প্রদান করে।
মন্তব্যের পৃষ্ঠাঙ্কন কাস্টমাইজ করতে বা ফিল্টার করতে নিম্নলিখিত কোয়েরি প্যারামিটারগুলি পাস করুন:
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 পদ্ধতিটি ব্যবহার করুন।
যখন কোনও মন্তব্য মুছে ফেলা হয়, তখন ড্রাইভ মন্তব্যের রিসোর্সটিকে deleted: true হিসেবে চিহ্নিত করে। মুছে ফেলা মন্তব্যগুলিতে htmlContent বা content ক্ষেত্র অন্তর্ভুক্ত থাকে না।
অনুরোধ
এই উদাহরণে, আমরা fileId এবং commentId পাথ প্যারামিটার প্রদান করি।
DELETE https://www.googleapis.com/drive/v3/files/FILE_ID/comments/COMMENT_ID