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

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

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

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

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

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

ড্রাইভে একটি ফাইলে একটি বিষয়বস্তু সীমাবদ্ধতা যোগ করতে বা সরাতে, একজন ব্যবহারকারীর অবশ্যই সংশ্লিষ্ট permissions থাকতে হবে। আমার ড্রাইভে একটি ফাইল বা ফোল্ডার বা 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 পুনরুদ্ধার করার উদাহরণের জন্য, ফাইলের ক্ষমতা পান দেখুন।

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

ড্রাইভ, দস্তাবেজ, পত্রক এবং স্লাইডের মধ্যে ব্যবহারকারীরা কীভাবে ফাইলগুলি ডাউনলোড, প্রিন্ট এবং অনুলিপি করতে পারে তা আপনি সীমাবদ্ধ করতে পারেন৷

ব্যবহারকারী একটি ফাইলের মালিক বা সংগঠক-প্রযোজ্য ডাউনলোড সীমাবদ্ধতা পরিবর্তন করতে পারে কিনা তা নির্ধারণ করতে, capabilities.canChangeItemDownloadRestriction বুলিয়ান ক্ষেত্রটি পরীক্ষা করুন। capabilities.canChangeItemDownloadRestriction true সেট করা থাকলে, ফাইলটিতে ডাউনলোড সীমাবদ্ধতা প্রয়োগ করা যেতে পারে। আরও তথ্যের জন্য, ফাইলের ক্ষমতা বুঝতে দেখুন।

একটি ফাইলে ডাউনলোড বিধিনিষেধ প্রয়োগ করতে, files.update পদ্ধতি ব্যবহার করে downloadRestrictions ক্ষেত্র সেট করুন। আপনি DownloadRestrictionsMetadata অবজেক্ট ব্যবহার করে ক্ষেত্র সেট করতে পারেন।

DownloadRestrictionsMetadata অবজেক্টের দুটি ক্ষেত্র রয়েছে: itemDownloadRestriction এবং effectiveDownloadRestrictionWithContext । উভয় ক্ষেত্র পঠনযোগ্য কিন্তু শুধুমাত্র itemDownloadRestriction সেট করা যেতে পারে। itemDownloadRestriction DownloadRestriction ক্ষেত্রটি একটি DownloadRestriction অবজেক্ট প্রদান করে। DownloadRestriction অবজেক্টের দুটি পৃথক বুলিয়ান ক্ষেত্র রয়েছে: restrictedForReaders এবং restrictedForWriters

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

আপনি যদি restrictedForWriters ক্ষেত্রটিকে true এ সেট করে itemDownloadRestriction ক্ষেত্রটি আপডেট করেন, তাহলে এটি বোঝায় যে restrictedForReaders true । একইভাবে, restrictedForWriters কে true এবং restrictedForReaders কে false সেট করা restrictedForWriters এবং restrictedForReaders উভয়কেই true সেট করার সমতুল্য।

effectiveDownloadRestrictionWithContext DownloadRestrictionWithContext ক্ষেত্রের জন্য ডাউনলোড সীমাবদ্ধতা ফাইলটিতে প্রয়োগ করা হয় এবং এটি সমস্ত সীমাবদ্ধতা সেটিংস এবং DLP নিয়মগুলির জন্য দায়ী।

effectiveDownloadRestrictionWithContext DownloadRestrictionWithContext ফিল্ডটি হয় restrictedForWriters বা restrictedForReaders এ সেট করা যেতে পারে। ফাইল সেটিংস, শেয়ার্ড ড্রাইভ সেটিংস, বা DLP নিয়ম (প্রসঙ্গ সহ সেগুলি সহ) থেকে সংশ্লিষ্ট ভূমিকাগুলির জন্য কোনো ডাউনলোড বা অনুলিপি সীমাবদ্ধতা সেটিংস থাকলে, মানটি true সেট করা হয়, অন্যথায় এটি false

পশ্চাদপদ সামঞ্জস্য

ব্যবহারকারীরা কীভাবে ফাইল ডাউনলোড, মুদ্রণ এবং অনুলিপি করতে পারে তা প্রয়োগ করতে আমরা আপনাকে DownloadRestriction অবজেক্ট ব্যবহার করার পরামর্শ দিই।

আপনি যদি copyRequiresWriterPermission বুলিয়ান ফিল্ড ব্যবহার করতে চান, তাহলে ফিল্ড থেকে পড়া এবং লেখা উভয়ের জন্য কার্যকারিতা আলাদা।

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

copyRequiresWriterPermission ক্ষেত্রটিকে false আপডেটে সেট করা restrictedForWriters এবং restrictedForReaders উভয় ক্ষেত্রেই false । এর মানে হল ডাউনলোড বা কপি সীমাবদ্ধতা সেটিংস সমস্ত ব্যবহারকারীর জন্য সরানো হয়েছে৷

ক্ষেত্রগুলি যেগুলি ডাউনলোড, মুদ্রণ এবং অনুলিপি বৈশিষ্ট্যগুলি নিয়ন্ত্রণ করে৷

নিচের সারণীতে files রিসোর্স ক্ষেত্রগুলি তালিকাভুক্ত করা হয়েছে যা ডাউনলোড, প্রিন্ট এবং কপি কার্যকারিতাকে প্রভাবিত করে:

মাঠ বর্ণনা সংস্করণ
capabilities.canCopy বর্তমান ব্যবহারকারী একটি ফাইল কপি করতে পারে কিনা। v2 এবং v3
capabilities.canDownload বর্তমান ব্যবহারকারী একটি ফাইল ডাউনলোড করতে পারে কিনা। v2 এবং v3
capabilities.canChangeCopyRequiresWriterPermission বর্তমান ব্যবহারকারী একটি ফাইলের copyRequiresWriterPermission সীমাবদ্ধতা পরিবর্তন করতে পারে কিনা। v2 এবং v3
capabilities.canChangeItemDownloadRestriction বর্তমান ব্যবহারকারী একটি ফাইলের ডাউনলোড সীমাবদ্ধতা পরিবর্তন করতে পারে কিনা। শুধুমাত্র v3
copyRequiresWriterPermission এই ফাইলটি অনুলিপি, মুদ্রণ বা ডাউনলোড করার বিকল্পগুলি পাঠক এবং মন্তব্যকারীদের জন্য অক্ষম করা উচিত। v2 এবং v3
downloadRestrictions একটি ফাইলে প্রযোজ্য ডাউনলোড সীমাবদ্ধতা। শুধুমাত্র v3