ড্রাইভ 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 অবজেক্ট পরিচালনার জন্য Looker Studio API-তে কোনও সংশ্লিষ্ট এন্ডপয়েন্ট নেই। Looker Studio অ্যাসেটের জন্য শুধুমাত্র একটি পারমিশন অবজেক্ট থাকে এবং এটি সর্বদা বিদ্যমান থাকে।

তালিকা

ড্রাইভ এবং লুকার স্টুডিওর মধ্যে ১-টু-১ মিল নেই, তবে এন্ডপয়েন্টগুলি একই লক্ষ্য পূরণ করে। প্রধান পার্থক্য হল একটি ড্রাইভ ফাইলে অনেকগুলি অনুমতি অবজেক্ট থাকতে পারে, এবং লুকার স্টুডিওতে ঠিক একটি থাকে।

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

তুলনা:

ড্রাইভ

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

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
  })
})

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