ফাইল সামগ্রী রক্ষা করুন

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

ড্রাইভ বিষয়বস্তু সীমাবদ্ধতা সহ ফাইলগুলিকে শুধুমাত্র পঠনযোগ্য করুন৷

ব্যবহারকারীদের নিম্নলিখিত কাজ করা থেকে বিরত রাখতে আপনি একটি Google ড্রাইভ ফাইলে একটি বিষয়বস্তু সীমাবদ্ধতা যুক্ত করতে পারেন:

  • শিরোনাম পরিবর্তন করা হচ্ছে
  • বিষয়বস্তু সম্পাদনা করা
  • একটি রিভিশন আপলোড করা হচ্ছে
  • মন্তব্য যোগ বা পরিবর্তন

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

ড্রাইভে একটি ফাইলে একটি বিষয়বস্তু সীমাবদ্ধতা যোগ করতে বা সরাতে, একজন ব্যবহারকারীর অবশ্যই সংশ্লিষ্ট অনুমতি থাকতে হবে৷ আমার ড্রাইভে একটি ফাইল বা ফোল্ডার বা capabilities.canModifyEditorContentRestriction সহ একটি শেয়ার্ড ড্রাইভের জন্য, আপনার অবশ্যই role=writer বরাদ্দ থাকতে হবে। আমার ড্রাইভের একটি ফাইল বা ফোল্ডারের জন্য বা ownerRestricted বিষয়বস্তুর সীমাবদ্ধতা সহ একটি শেয়ার্ড ড্রাইভের জন্য, আপনাকে অবশ্যই ফাইলটির মালিক হতে হবে বা role=organizer থাকতে হবে। একটি বিষয়বস্তু সীমাবদ্ধতা সহ একটি আইটেম দেখতে, ব্যবহারকারীদের অবশ্যই role=reader বা উচ্চতর থাকতে হবে৷ ভূমিকার একটি সম্পূর্ণ তালিকার জন্য, ভূমিকা এবং অনুমতি দেখুন। একটি ফাইলে অনুমতি পরিবর্তন করতে, অনুমতি পরিবর্তন করুন দেখুন।

আপনি একটি বিষয়বস্তু সীমাবদ্ধতা সেট করতে files রিসোর্সে contentRestrictions.readOnly বুলিয়ান ক্ষেত্রটি ব্যবহার করতে পারেন। মনে রাখবেন যে একটি আইটেমের উপর একটি বিষয়বস্তুর সীমাবদ্ধতা সেট করা বিদ্যমানটিকে ওভাররাইট করে।

বিষয়বস্তু সীমাবদ্ধতা জন্য দৃশ্যকল্প

একটি ড্রাইভ আইটেমের উপর একটি বিষয়বস্তু সীমাবদ্ধতা ব্যবহারকারীদের সংকেত দেয় যে বিষয়বস্তু পরিবর্তন করা উচিত নয়। এটি নিম্নলিখিত কিছু কারণে হতে পারে:

  • পর্যালোচনা বা অডিট সময়কালে একটি সহযোগী নথিতে কাজ থামানো।
  • একটি আইটেমকে চূড়ান্ত অবস্থায় সেট করা, যেমন অনুমোদিত।
  • একটি সংবেদনশীল বৈঠকের সময় পরিবর্তন প্রতিরোধ করা।
  • স্বয়ংক্রিয় সিস্টেম দ্বারা পরিচালিত কর্মপ্রবাহের জন্য বাহ্যিক পরিবর্তন নিষিদ্ধ করা।
  • Google Apps স্ক্রিপ্ট এবং Google Workspace অ্যাড-অন দ্বারা সম্পাদনা সীমাবদ্ধ করা।
  • একটি নথিতে দুর্ঘটনাজনিত সম্পাদনা এড়ানো।

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

বিষয়বস্তু সীমাবদ্ধতা সহ ফাইল পরিচালনা করুন

Google দস্তাবেজ, Google পত্রক, এবং Google স্লাইডগুলির পাশাপাশি অন্যান্য সমস্ত ফাইলগুলিতে সামগ্রীর সীমাবদ্ধতা থাকতে পারে৷

একটি আইটেমের উপর একটি বিষয়বস্তুর সীমাবদ্ধতা তার শিরোনাম এবং বিষয়বস্তুর পরিবর্তনগুলিকে বাধা দেয়, যার মধ্যে রয়েছে:

  • মন্তব্য এবং পরামর্শ (দস্তাবেজ, পত্রক, স্লাইড এবং বাইনারি ফাইলগুলিতে)
  • বাইনারি ফাইলের রিভিশন
  • ডক্সে টেক্সট এবং ফরম্যাটিং
  • পত্রকগুলিতে পাঠ্য বা সূত্র, একটি পত্রক বিন্যাস এবং পত্রকের দৃষ্টান্তগুলি৷
  • স্লাইডের সমস্ত সামগ্রী, সেইসাথে স্লাইডগুলির ক্রম এবং সংখ্যা৷

নির্দিষ্ট ফাইলের প্রকারে একটি বিষয়বস্তু সীমাবদ্ধতা থাকতে পারে না। কয়েকটি উদাহরণ হল:

একটি বিষয়বস্তু সীমাবদ্ধতা যোগ করুন

একটি ফাইলের বিষয়বস্তু সীমাবদ্ধতা যোগ করতে, contentRestrictions.readOnly ফিল্ডটি true সেট করে files.update পদ্ধতি ব্যবহার করুন। আপনি কেন সীমাবদ্ধতা যোগ করছেন তার জন্য একটি ঐচ্ছিক reason যোগ করুন, যেমন "চুড়ান্ত চুক্তি"। নিম্নলিখিত কোড নমুনা দেখায় কিভাবে একটি বিষয়বস্তু সীমাবদ্ধতা যোগ করতে হয়:

জাভা

File updatedFile =
  new File()
      .setContentRestrictions(
          ImmutableList.of(new ContentRestriction().setReadOnly(true).setReason("Finalized contract."));

File response = driveService.files().update("FILE_ID", updatedFile).setFields("contentRestrictions").execute();

পাইথন

content_restriction = {'readOnly': True, 'reason':'Finalized contract.'}

response = drive_service.files().update(fileId="FILE_ID", body = {'contentRestrictions' : [content_restriction]}, fields = "contentRestrictions").execute();

Node.js

/**
* Set a content restriction on a file.
* @return{obj} updated file
**/
async function addContentRestriction() {
  // Get credentials and build service
  // TODO (developer) - Use appropriate auth mechanism for your app

  const {GoogleAuth} = require('google-auth-library');
  const {google} = require('googleapis');

  const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
  const service = google.drive({version: 'v3', auth});
  const contentRestriction = {
    'readOnly': True,
    'reason': 'Finalized contract.',
  };
  const updatedFile = {
    'contentRestrictions': [contentRestriction],
  };
  try {
    const response = await service.files.update({
      fileId: 'FILE_ID',
      resource: updatedFile,
      fields: 'contentRestrictions',
    });
    return response;
  } catch (err) {
    // TODO (developer) - Handle error
    throw err;
  }
}

আপনি যে ফাইলটি পরিবর্তন করতে চান তার ফাইল fileId দিয়ে FILE_ID প্রতিস্থাপন করুন।

আপনি যখন নমুনা কোডটি চালান, তখন ফাইলটি বিষয়বস্তু সীমাবদ্ধ থাকে এবং Google ড্রাইভ ইউজার ইন্টারফেসের (UI) মধ্যে ফাইলের নামের পাশে একটি লক চিহ্ন ( ) প্রদর্শিত হয়। ফাইলটি এখন শুধুমাত্র পঠনযোগ্য।

একটি ড্রাইভ ফাইল তালিকার মধ্যে একটি বিষয়বস্তু সীমাবদ্ধতা সহ একটি ফাইল৷
চিত্র 1. একটি ড্রাইভ ফাইল তালিকার মধ্যে একটি বিষয়বস্তু সীমাবদ্ধতা সহ একটি ফাইল৷

একটি বিষয়বস্তু সীমাবদ্ধতা সরান

একটি ফাইলের বিষয়বস্তু সীমাবদ্ধতা অপসারণ করতে, contentRestrictions.readOnly ফিল্ডের সাথে files.update পদ্ধতি ব্যবহার করুন false নিম্নলিখিত কোড নমুনা একটি বিষয়বস্তু সীমাবদ্ধতা অপসারণ কিভাবে দেখায়:

জাভা

File updatedFile =
new File()
    .setContentRestrictions(
        ImmutableList.of(new ContentRestriction().setReadOnly(false));

File response = driveService.files().update("FILE_ID", updatedFile).setFields("contentRestrictions").execute();

পাইথন

content_restriction = {'readOnly': False}

response = drive_service.files().update(fileId="FILE_ID", body = {'contentRestrictions' : [content_restriction]}, fields = "contentRestrictions").execute();

Node.js

/**
* Remove a content restriction on a file.
* @return{obj} updated file
**/
async function removeContentRestriction() {
  // Get credentials and build service
  // TODO (developer) - Use appropriate auth mechanism for your app

  const {GoogleAuth} = require('google-auth-library');
  const {google} = require('googleapis');

  const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
  const service = google.drive({version: 'v3', auth});
  const contentRestriction = {
    'readOnly': False,
  };
  const updatedFile = {
    'contentRestrictions': [contentRestriction],
  };
  try {
    const response = await service.files.update({
      fileId: 'FILE_ID',
      resource: updatedFile,
      fields: 'contentRestrictions',
    });
    return response;
  } catch (err) {
    // TODO (developer) - Handle error
    throw err;
  }
}

আপনি যে ফাইলটি পরিবর্তন করতে চান তার ফাইল fileId দিয়ে FILE_ID প্রতিস্থাপন করুন।

আপনি যখন নমুনা কোড চালান, ফাইলটি আর বিষয়বস্তু সীমাবদ্ধ থাকে না।

আপনি একটি বিষয়বস্তু সীমাবদ্ধতা সরাতে এবং সামগ্রী সম্পাদনা করার অনুমতি দিতে ড্রাইভ UI ব্যবহার করতে পারেন (যদি আপনার সঠিক অনুমতি থাকে)। এটি করার জন্য দুটি বিকল্প রয়েছে:

  1. ড্রাইভে, একটি বিষয়বস্তু সীমাবদ্ধতা সহ ফাইলটিতে ডান-ক্লিক করুন এবং আনলক এ ক্লিক করুন।

    একটি ড্রাইভ ফাইল তালিকার মধ্যে একটি ফাইল সামগ্রী সীমাবদ্ধতা সরান৷
    চিত্র 2. একটি ড্রাইভ ফাইল তালিকার মধ্যে একটি ফাইল সামগ্রী সীমাবদ্ধতা সরান৷
  2. একটি বিষয়বস্তু সীমাবদ্ধতা সহ ফাইলটি খুলুন এবং (লকড মোড) > আনলক ফাইল ক্লিক করুন।

    একটি নথির মধ্যে একটি ফাইল সামগ্রী সীমাবদ্ধতা সরান৷
    চিত্র 3. একটি নথির মধ্যে একটি ফাইল সামগ্রী সীমাবদ্ধতা সরান৷

একটি বিষয়বস্তু সীমাবদ্ধতা পরীক্ষা করুন

একটি বিষয়বস্তু সীমাবদ্ধতা চেক করতে, contentRestrictions রিটার্ন ফিল্ড সহ files.get পদ্ধতি ব্যবহার করুন। নিম্নলিখিত কোড নমুনা দেখায় কিভাবে একটি বিষয়বস্তু সীমাবদ্ধতার স্থিতি পরীক্ষা করতে হয়:

জাভা

File response = driveService.files().get("FILE_ID").setFields("contentRestrictions").execute();

পাইথন

response = drive_service.files().get(fileId="FILE_ID", fields = "contentRestrictions").execute();

Node.js

/**
* Get content restrictions on a file.
* @return{obj} updated file
**/
async function fetchContentRestrictions() {
  // Get credentials and build service
  // TODO (developer) - Use appropriate auth mechanism for your app

  const {GoogleAuth} = require('google-auth-library');
  const {google} = require('googleapis');

  const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
  const service = google.drive({version: 'v3', auth});
  try {
    const response = await service.files.get({
      fileId: 'FILE_ID',
      fields: 'contentRestrictions',
    });
    return response;
  } catch (err) {
    // TODO (developer) - Handle error
    throw err;
  }
}

আপনি যে ফাইলটি পরীক্ষা করতে চান তার ফাইল fileId দিয়ে FILE_ID প্রতিস্থাপন করুন।

আপনি যখন নমুনা কোড চালান, পদ্ধতিটি উপস্থিত থাকলে একটি ContentRestriction সংস্থান প্রদান করে।

একটি বিষয়বস্তু সীমাবদ্ধতা যোগ করুন শুধুমাত্র ফাইল মালিক পরিবর্তন করতে পারেন

একটি ফাইল বিষয়বস্তু সীমাবদ্ধতা যোগ করতে যাতে শুধুমাত্র ফাইল মালিকরা প্রক্রিয়াটি টগল করতে পারে, files.update পদ্ধতি ব্যবহার করুন contentRestrictions.ownerRestricted বুলিয়ান ফিল্ড true সেট করে। নিম্নলিখিত কোড নমুনা দেখায় কিভাবে শুধুমাত্র ফাইল মালিকদের জন্য একটি বিষয়বস্তু সীমাবদ্ধতা যোগ করতে হয়:

জাভা

File updatedFile =
  new File()
      .setContentRestrictions(
          ImmutableList.of(new ContentRestriction().setReadOnly(true).setOwnerRestricted(true).setReason("Finalized contract."));

File response = driveService.files().update("FILE_ID", updatedFile).setFields("contentRestrictions").execute();

পাইথন

content_restriction = {'readOnly': True, 'ownerRestricted': True, 'reason':'Finalized contract.'}

response = drive_service.files().update(fileId="FILE_ID", body = {'contentRestrictions' : [content_restriction]}, fields = "contentRestrictions").execute();

Node.js

/**
* Set an owner restricted content restriction on a file.
* @return{obj} updated file
**/
async function addOwnerRestrictedContentRestriction() {
  // Get credentials and build service
  // TODO (developer) - Use appropriate auth mechanism for your app

  const {GoogleAuth} = require('google-auth-library');
  const {google} = require('googleapis');

  const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
  const service = google.drive({version: 'v3', auth});
  const contentRestriction = {
    'readOnly': True,
    'ownerRestricted': True,
    'reason': 'Finalized contract.',
  };
  const updatedFile = {
    'contentRestrictions': [contentRestriction],
  };
  try {
    const response = await service.files.update({
      fileId: 'FILE_ID',
      resource: updatedFile,
      fields: 'contentRestrictions',
    });
    return response;
  } catch (err) {
    // TODO (developer) - Handle error
    throw err;
  }
}

আপনি যে ফাইলটি পরিবর্তন করতে চান তার ফাইল fileId দিয়ে FILE_ID প্রতিস্থাপন করুন।

আপনি যখন নমুনা কোডটি চালান, তখন ফাইলটি বিষয়বস্তু সীমাবদ্ধ থাকে এবং শুধুমাত্র ফাইল মালিকরা এটি সরাতে পারেন। আপনি যদি ফাইলের মালিক হন, তাহলে ড্রাইভ ইউজার ইন্টারফেসের (UI) মধ্যে ফাইলের নামের পাশে একটি সক্রিয় লক চিহ্ন ( ) প্রদর্শিত হবে। আপনি মালিক না হলে, লক প্রতীকটি ম্লান হয়ে যায়।

ownerRestricted পতাকাটি সরাতে, contentRestrictions.ownerRestricted ক্ষেত্রটি false এ সেট করে files.update পদ্ধতি ব্যবহার করুন।

বিষয়বস্তু সীমাবদ্ধতা ক্ষমতা

একটি files রিসোর্সে বুলিয়ান capabilities ক্ষেত্রগুলির একটি সংগ্রহ রয়েছে যা একটি ফাইলে একটি ক্রিয়া সম্পাদন করা যেতে পারে কিনা তা নির্দেশ করতে ব্যবহৃত হয়।

বিষয়বস্তু সীমাবদ্ধতা নিম্নলিখিত capabilities ধারণ করে:

আরও তথ্যের জন্য, ক্ষমতা দেখুন।

ফাইলের capabilities পুনরুদ্ধারের উদাহরণের জন্য, ব্যবহারকারীর অনুমতি যাচাই করুন দেখুন।

ব্যবহারকারীদের আপনার ফাইল ডাউনলোড, মুদ্রণ বা অনুলিপি করা থেকে আটকান

ড্রাইভ, ডক্স, শীট এবং স্লাইডের মধ্যে role=commenter বা role=reader অনুমতি সহ ব্যবহারকারীরা কীভাবে ফাইলগুলি ডাউনলোড, মুদ্রণ এবং অনুলিপি করতে পারে তা আপনি সীমাবদ্ধ করতে পারেন।

ফাইল ডাউনলোড, মুদ্রণ এবং অনুলিপি করার বিকল্পগুলি অপসারণ করতে, copyRequiresWriterPermission বুলিয়ান ক্ষেত্র true সেট করে files.update পদ্ধতি ব্যবহার করুন।