ড্রাইভ API থেকে স্থানান্তর করা হচ্ছে

এই ডকুমেন্টটিতে বর্ণনা করা হয়েছে কিভাবে অনুমতি ব্যবস্থাপনার জন্য ব্যবহৃত ড্রাইভ এপিআই (Drive API) থেকে ডেটা স্টুডিও এপিআই (Data Studio API)-তে কোড স্থানান্তর করতে হয়। সাধারণ ড্রাইভ এপিআই এন্ডপয়েন্টগুলোর জন্য, এতে সংশ্লিষ্ট ডেটা স্টুডিও এপিআই কোড দেখানো হয়েছে।

ফাইল

Drive API-এর ফাইল এন্ডপয়েন্টগুলোর জন্য, Data Studio API-তে শুধুমাত্র Files: list এন্ডপয়েন্টটির একটি সমতুল্য এন্ডপয়েন্ট রয়েছে।

তালিকা

এপিআই পদ্ধতি এন্ডপয়েন্ট
ড্রাইভ POST /drive/v3/files
ডেটা স্টুডিও GET /v1/assets:search

তুলনা:

ড্রাইভ

const oAuthToken = '123' // This should be replaced with a valid OAuth token.
fetch(`https://www.googleapis.com/drive/v3/files`, {
  headers: {
    Authorization: `Bearer ${oAuthToken}`
  },
  method: "POST",
})

ডেটা স্টুডিও

const oAuthToken = '123' // This should be replaced with a valid OAuth token.
fetch(`https://datastudio.googleapis.com/v1/assets:search?assetTypes={ASSET_TYPE}`, {
  headers: {
    Authorization: `Bearer ${oAuthToken}`
  }
})

অনুসন্ধানের সম্পদসমূহ দেখুন।

অনুমতি

তৈরি করুন, মুছুন এবং পান

এপিআই পদ্ধতি এন্ডপয়েন্ট
ড্রাইভ POST /drive/v3/files/fileId/permissions
ড্রাইভ DELETE /drive/v3/files/fileId/permissions/permissionId
ড্রাইভ GET /drive/v3/files/fileId/permissions/permissionId

ডেটা স্টুডিও এপিআই-তে একাধিক Permissions অবজেক্ট পরিচালনার জন্য কোনো সংশ্লিষ্ট এন্ডপয়েন্ট নেই। একটি ডেটা স্টুডিও অ্যাসেটের জন্য কেবল একটিই পারমিশন অবজেক্ট থাকে এবং সেটি সর্বদা বিদ্যমান থাকে।

তালিকা

ড্রাইভ এবং ডেটা স্টুডিওর মধ্যে হুবহু মিল নেই, তবে এই দুটি ডিভাইসের উদ্দেশ্য প্রায় একই। মূল পার্থক্য হলো, একটি ড্রাইভ ফাইলে একাধিক পারমিশন অবজেক্ট থাকতে পারে, কিন্তু ডেটা স্টুডিওতে ঠিক একটিই থাকে।

এপিআই পদ্ধতি এন্ডপয়েন্ট
ড্রাইভ GET /drive/v3/files/fileId/permissions
ডেটা স্টুডিও GET /v1/assets/assetId/permissions

তুলনা:

ড্রাইভ

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

const fileId = '123'; // This should be replaced with a valid Drive ID.
const oAuthToken = '123'; // This should be replaced with a valid OAuth token.
let nextPageToken = undefined;
let permissions = [];
do {
  const permissionsData = await fetch(`https://www.googleapis.com/drive/v3/files/${fileId}/permissions`, {
    headers: {
      Authorization: `Bearer ${oAuthToken}`
    }
  });
  nextPageToken = permissionsData.nextPageToken;
  permissions = permissions.concat(permissionsData.permissions)
} while (nextPageToken !== undefined);

ডেটা স্টুডিও

যেহেতু ডেটা স্টুডিও অ্যাসেটের জন্য কেবল একটিই পারমিশন অবজেক্ট থাকে, তাই আপনাকে পেজিনেশনের বিষয়টি বিবেচনা করতে হবে না।

const oAuthToken = '123' // This should be replaced with a valid OAuth token.
const assetId = '123' // This should be replaced with a valid asset ID.
fetch(`https://datastudio.googleapis.com/v1/assets/{ASSET_ID}/permissions`, {
  headers: {
    Authorization: `Bearer ${oAuthToken}`
  }
}

অনুমতিসমূহ দেখুন।

আপডেট

পারমিশন আপডেট করার ক্ষেত্রে, ডেটা স্টুডিও এবং ড্রাইভ এপিআই-এর কার্যকারিতা প্রায় একই রকম। মূল পার্থক্য হলো, ডেটা স্টুডিও পারমিশনে কোনো expirationTime সেট করা যায় না।

এপিআই পদ্ধতি এন্ডপয়েন্ট
ড্রাইভ PATCH /drive/v3/files/fileId/permissions/permissionId
ডেটা স্টুডিও PATCH /v1/assets/assetId/permissions

তুলনা:

ড্রাইভ

const fileId = '123'; // This should be replaced with a valid Drive ID.
const oAuthToken = '123'; // This should be replaced with a valid OAuth token.
const newPermissionsObject = {
  expirationTime: '...',
  role: 'owner', // Or any other option
}
fetch(`https://www.googleapis.com/drive/v3/files/${fileId}/permissions/permissionId`, {
  headers: {
    Authorization: `Bearer ${oAuthToken}`
  },
  method: "PATCH",
  body: JSON.stringify(newPermissionsObject)
})

ডেটা স্টুডিও

const oAuthToken = '123' // This should be replaced with a valid OAuth token.
const assetId = '123' // This should be replaced with a valid asset ID.
const newPermissionsObject = {
  permissions: {
    //...
  }
}

fetch(`https://datastudio.googleapis.com/v1/assets/${assetId}/permissions`, {
  headers: {
    Authorization: `Bearer ${oAuthToken}`
  },
  method: "PATCH",
  body: JSON.stringify({
    name: assetId,
    permissions: newPermissionsObject
  })
})

ব্যবহার-ক্ষেত্র-নির্দিষ্ট বিকল্পগুলির জন্য দেখুন: