মন্তব্য এবং উত্তর পরিচালনা করুন

মন্তব্যগুলি একটি ফাইলে ব্যবহারকারী-প্রদত্ত প্রতিক্রিয়া, যেমন একটি শব্দ-প্রক্রিয়াকরণ নথির পাঠক পরামর্শ দেয় যে কীভাবে একটি বাক্যকে পুনরায় শব্দবন্ধ করতে হয়। দুই ধরনের মন্তব্য আছে: অ্যাঙ্কর করা মন্তব্য এবং আন্যাঙ্করড মন্তব্য । একটি নোঙ্গর করা মন্তব্য একটি নির্দিষ্ট অবস্থানের সাথে যুক্ত, যেমন একটি শব্দ-প্রক্রিয়াকরণ নথিতে একটি বাক্য, একটি নথির একটি নির্দিষ্ট সংস্করণের মধ্যে। বিপরীতভাবে, একটি আন্যাঙ্করড মন্তব্য শুধু নথির সাথে যুক্ত।

উত্তরগুলি মন্তব্যের সাথে সংযুক্ত থাকে এবং মন্তব্যে ব্যবহারকারীর প্রতিক্রিয়া উপস্থাপন করে। ড্রাইভ API আপনার ব্যবহারকারীদের আপনার অ্যাপ দ্বারা তৈরি নথিতে মন্তব্য এবং উত্তর যোগ করতে দেয়। সমষ্টিগতভাবে, উত্তর সহ একটি মন্তব্য আলোচনা হিসাবে পরিচিত।

ক্ষেত্র প্যারামিটার ব্যবহার করুন

comments সংস্থানগুলিতে সমস্ত পদ্ধতির জন্য ( delete ব্যতীত), প্রতিক্রিয়াতে ফিরে আসার জন্য ক্ষেত্রগুলি নির্দিষ্ট করতে আপনাকে অবশ্যই fields সিস্টেম প্যারামিটার সেট করতে হবে। বেশিরভাগ ড্রাইভ রিসোর্স পদ্ধতিতে এই ক্রিয়াটি শুধুমাত্র অ-ডিফল্ট ক্ষেত্রগুলি ফেরত দেওয়ার জন্য প্রয়োজন, তবে comments সংস্থানের জন্য এটি বাধ্যতামূলক৷ আপনি যদি fields পরামিতি বাদ দেন, পদ্ধতিটি একটি ত্রুটি প্রদান করে। আরও তথ্যের জন্য, নির্দিষ্ট ক্ষেত্র ফেরত দেখুন।

মন্তব্য সীমাবদ্ধতা

ড্রাইভ এপিআই-এর সাথে অ্যাঙ্কর করা এবং আনঅ্যাঙ্করড মন্তব্যগুলির সাথে কাজ করার সময় নিম্নলিখিত সীমাবদ্ধতাগুলি প্রয়োগ করা হয়:

মন্তব্যের ধরন ফাইলের ধরন
নোঙ্গর করা
  • ডেভেলপাররা অ্যাঙ্কর স্পেসিফিকেশনের জন্য তাদের নিজস্ব বিন্যাস সংজ্ঞায়িত করতে পারে।
  • মন্তব্যটি পুনরুদ্ধার করার সময় অ্যাঙ্করটি সংরক্ষণ করা হয় এবং ফেরত দেওয়া হয়, তবে Google Workspace এডিটর অ্যাপগুলি এই মন্তব্যগুলিকে আন-অ্যাঙ্কর করা মন্তব্য হিসাবে বিবেচনা করে।
আন্যাঙ্করড
  • Google Workspace ডকুমেন্টে সমর্থিত, যা সেগুলিকে "সমস্ত মন্তব্য" ভিউতে দেখাবে।
  • ড্রাইভ ফাইল প্রিভিউয়ারে রেন্ডার করা পিডিএফগুলিতে অন্যাঙ্করড মন্তব্যগুলি দেখানো হয় না, যদিও সেগুলি সংরক্ষণ করা হয় এবং ড্রাইভ API এর মাধ্যমে পুনরুদ্ধার করা যেতে পারে।

একটি নথির সর্বশেষ সংশোধনে একটি অ্যাঙ্কর করা মন্তব্য যোগ করুন

আপনি যখন একটি মন্তব্য যোগ করেন, আপনি ফাইলের একটি অঞ্চলে এটি নোঙ্গর করতে চাইতে পারেন। একটি অ্যাঙ্কর একটি ফাইলে একটি অঞ্চলকে সংজ্ঞায়িত করে যেখানে একটি মন্তব্য উল্লেখ করে। comments সংস্থান একটি JSON স্ট্রিং হিসাবে anchor ক্ষেত্র সংজ্ঞায়িত করে।

একটি অ্যাঙ্কর করা মন্তব্য যোগ করতে:

  1. (ঐচ্ছিক)। একটি নথির জন্য প্রতিটি revisionID তালিকাভুক্ত করতে revisions রিসোর্সে list পদ্ধতিতে কল করুন। যদি আপনি সর্বশেষ সংশোধন ছাড়া অন্য কোনো সংশোধনে একটি মন্তব্য অ্যাঙ্কর করতে চান তবেই এই পদক্ষেপটি অনুসরণ করুন৷ আপনি যদি সর্বশেষ সংশোধন ব্যবহার করতে চান, তাহলে revisionID এর জন্য head ব্যবহার করুন।

  2. fileID প্যারামিটার সহ comments সম্পদে create পদ্ধতিতে কল করুন, মন্তব্য সম্বলিত একটি comments সংস্থান এবং একটি JSON অ্যাঙ্কর স্ট্রিং যার মধ্যে revisionID ( r ) এবং অঞ্চল ( a ) রয়েছে৷

নিম্নলিখিত কোড নমুনা দেখায় কিভাবে একটি অ্যাঙ্কর করা মন্তব্য তৈরি করতে হয়:

পাইথন


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 স্ট্রিং রয়েছে।

একটি unanchored মন্তব্য যোগ করুন

একটি আনঅ্যাঙ্করড মন্তব্য যোগ করতে, 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