গুগল ড্রাইভ এপিআই বিভিন্ন ধরনের ডাউনলোড এবং এক্সপোর্ট অ্যাকশন সমর্থন করে, যা নিম্নলিখিত সারণিতে তালিকাভুক্ত করা হলো:
| ডাউনলোড অ্যাকশন |
| ||||
| রপ্তানি কার্যক্রম |
|
ফাইলের বিষয়বস্তু ডাউনলোড বা এক্সপোর্ট করার আগে, files রিসোর্সের capabilities.canDownload ফিল্ড ব্যবহার করে যাচাই করে নিন যে ব্যবহারকারীরা ফাইলটি ডাউনলোড করতে পারবে কি না।
এখানে উল্লেখিত ফাইল টাইপগুলোর, যার মধ্যে ব্লব এবং গুগল ওয়ার্কস্পেস ফাইলও অন্তর্ভুক্ত, বিবরণের জন্য ফাইলের প্রকারভেদ (File types ) দেখুন।
এই নথির বাকি অংশে এই ধরনের ডাউনলোড এবং এক্সপোর্ট কার্যক্রম সম্পাদনের জন্য বিস্তারিত নির্দেশাবলী দেওয়া হয়েছে।
ব্লব ফাইলের বিষয়বস্তু ডাউনলোড করুন
ড্রাইভে সংরক্ষিত একটি ব্লব ফাইল ডাউনলোড করতে, ডাউনলোড করার ফাইলের আইডি এবং alt সিস্টেম প্যারামিটার সহ files.get মেথডটি ব্যবহার করুন। alt=media প্যারামিটারটি সার্ভারকে জানায় যে একটি বিকল্প প্রতিক্রিয়া বিন্যাস হিসাবে কন্টেন্ট ডাউনলোডের অনুরোধ করা হচ্ছে।
alt সিস্টেম প্যারামিটারটি সমস্ত গুগল REST API-তে উপলব্ধ। আপনি যদি একটি Drive API ক্লায়েন্ট লাইব্রেরি ব্যবহার করেন, তাহলে আপনাকে এই প্যারামিটারটি স্পষ্টভাবে সেট করতে হবে না, কারণ ক্লায়েন্ট লাইব্রেরির পদ্ধতিটি মূল HTTP অনুরোধে alt=media প্যারামিটারটি যোগ করে দেয়।
নিম্নলিখিত কোড নমুনাগুলি দেখায় কিভাবে files.get পদ্ধতি ব্যবহার করে একটি ফাইল ডাউনলোড করতে হয়:
অ্যাপস স্ক্রিপ্ট
/**
* Downloads a file from Drive.
* @param {string} fileId The ID of the file to download.
* @return {Blob} The file content as a Blob.
*/
function downloadFile(fileId) {
var url = 'https://www.googleapis.com/drive/v3/files/' + fileId + '?alt=media';
var response = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
});
return response.getBlob();
}
জাভা
পাইথন
নোড.জেএস
পিএইচপি
.NET
কার্ল
curl -L "https://www.googleapis.com/drive/v3/files/FILE_ID?alt=media" \
--header "Authorization: Bearer ACCESS_TOKEN" \
--output "FILE_NAME"
নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
- FILE_ID : ডাউনলোড করার ফাইলের আইডি।
- ACCESS_TOKEN : যে অ্যাক্সেস টোকেনটি এপিআই (API)-তে প্রবেশের অনুমতি দেয়।
- FILE_NAME : আউটপুট ফাইলের নাম।
আপনার অ্যাপ থেকে শুরু করা ফাইল ডাউনলোড অবশ্যই এমন একটি স্কোপ দিয়ে অনুমোদিত হতে হবে যা ফাইলের বিষয়বস্তু পড়ার অ্যাক্সেস দেয়। উদাহরণস্বরূপ, drive.readonly.metadata স্কোপ ব্যবহারকারী কোনো অ্যাপ ফাইলের বিষয়বস্তু ডাউনলোড করার জন্য অনুমোদিত নয়। ক্লায়েন্ট লাইব্রেরির কোড স্যাম্পলগুলো সীমাবদ্ধ drive ফাইল স্কোপ ব্যবহার করে, যা ব্যবহারকারীদের আপনার সমস্ত ড্রাইভ ফাইল দেখতে এবং পরিচালনা করতে দেয়। ড্রাইভ স্কোপ সম্পর্কে আরও জানতে, "গুগল ড্রাইভ এপিআই স্কোপ নির্বাচন করুন" দেখুন।
যেসব ব্যবহারকারীর owner অনুমতি (আমার ড্রাইভ ফাইলের জন্য) অথবা organizer অনুমতি (শেয়ার করা ড্রাইভ ফাইলের জন্য) আছে, তারা DownloadRestrictionsMetadata অবজেক্টের মাধ্যমে ডাউনলোড সীমাবদ্ধ করতে পারেন। আরও তথ্যের জন্য, ব্যবহারকারীদের আপনার ফাইল ডাউনলোড, প্রিন্ট বা কপি করা থেকে বিরত রাখুন দেখুন।
আপত্তিকর হিসেবে চিহ্নিত ফাইল (যেমন ক্ষতিকারক সফটওয়্যার) শুধুমাত্র ফাইলের মালিকই ডাউনলোড করতে পারেন। এছাড়াও, ব্যবহারকারী যে সম্ভাব্য অবাঞ্ছিত সফটওয়্যার বা অন্যান্য আপত্তিকর ফাইল ডাউনলোড করার ঝুঁকি স্বীকার করেছেন, তা বোঝানোর জন্য acknowledgeAbuse কোয়েরি প্যারামিটারটি অবশ্যই true তে সেট করতে হবে। এই কোয়েরি প্যারামিটারটি ব্যবহার করার আগে আপনার অ্যাপ্লিকেশনটির উচিত ব্যবহারকারীকে ইন্টারেক্টিভভাবে সতর্ক করা।
আংশিক ডাউনলোড
আংশিক ডাউনলোড বলতে কোনো ফাইলের কেবল একটি নির্দিষ্ট অংশ ডাউনলোড করাকে বোঝায়। আপনি Range হেডারের সাথে একটি বাইট রেঞ্জ ব্যবহার করে ফাইলের যে অংশটি ডাউনলোড করতে চান তা নির্দিষ্ট করতে পারেন। উদাহরণস্বরূপ:
Range: bytes=500-999
পূর্ববর্তী সংস্করণে ব্লব ফাইলের বিষয়বস্তু ডাউনলোড করুন
ব্লব ফাইলের কন্টেন্ট পূর্ববর্তী সংস্করণে ডাউনলোড করতে, ডাউনলোড করার ফাইলের আইডি, রিভিশনের আইডি এবং alt সিস্টেম প্যারামিটার সহ revisions.get মেথডটি ব্যবহার করুন। alt=media প্যারামিটারটি সার্ভারকে জানায় যে একটি বিকল্প রেসপন্স ফরম্যাট হিসেবে কন্টেন্ট ডাউনলোডের অনুরোধ করা হচ্ছে। files.get এর মতোই, revisions.get মেথডটিও acknowledgeAbuse কোয়েরি প্যারামিটার এবং Range হেডার গ্রহণ করে।
আপনি শুধুমাত্র "চিরকালের জন্য রাখুন" হিসেবে চিহ্নিত ব্লব ফাইলের কন্টেন্ট রিভিশনগুলোই ডাউনলোড করতে পারবেন। আপনি যদি কোনো রিভিশন ডাউনলোড করতে চান, তবে প্রথমে সেটিকে "চিরকালের জন্য রাখুন" হিসেবে সেট করুন। আরও তথ্যের জন্য, স্বয়ংক্রিয়ভাবে মুছে যাওয়া থেকে রক্ষা করার জন্য রিভিশন নির্দিষ্ট করুন দেখুন।
কোনো সংস্করণ ডাউনলোড করার বিষয়ে অতিরিক্ত তথ্যের জন্য, দীর্ঘমেয়াদী কার্যক্রম পরিচালনা দেখুন।
কার্ল
curl -L "https://www.googleapis.com/drive/v3/files/FILE_ID/revisions/REVISION_ID?alt=media" \
--header "Authorization: Bearer ACCESS_TOKEN" \
--output "FILE_NAME"
নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
- FILE_ID : ডাউনলোড করার ফাইলের আইডি।
- REVISION_ID : ডাউনলোড করার জন্য রিভিশনটির আইডি।
- ACCESS_TOKEN : যে অ্যাক্সেস টোকেনটি এপিআই (API)-তে প্রবেশের অনুমতি দেয়।
- FILE_NAME : আউটপুট ফাইলের নাম।
ব্রাউজারে ব্লব ফাইলের বিষয়বস্তু ডাউনলোড করুন
এপিআই (API)-এর মাধ্যমে ডাউনলোড না করে, ব্রাউজারের মধ্যে ড্রাইভে সংরক্ষিত ব্লব ফাইলের কন্টেন্ট ডাউনলোড করতে হলে files রিসোর্সের ` webContentLink ফিল্ডটি ব্যবহার করুন। যদি ব্যবহারকারীর ফাইলটি ডাউনলোড করার অ্যাক্সেস থাকে, তাহলে ফাইলটি এবং এর ভেতরের কন্টেন্ট ডাউনলোড করার জন্য একটি লিঙ্ক ফেরত দেওয়া হয়। আপনি ব্যবহারকারীকে এই ইউআরএল-এ রিডাইরেক্ট করতে পারেন, অথবা এটিকে একটি ক্লিকযোগ্য লিঙ্ক হিসেবে প্রদান করতে পারেন।
কার্ল
curl "https://www.googleapis.com/drive/v3/files/FILE_ID?fields=webContentLink" \
--header "Authorization: Bearer ACCESS_TOKEN" \
--header "Accept: application/json"
নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
- FILE_ID : যে ফাইলটির ডাউনলোড লিঙ্ক পেতে চান, তার আইডি।
- ACCESS_TOKEN : যে অ্যাক্সেস টোকেনটি এপিআই (API)-তে প্রবেশের অনুমতি দেয়।
দীর্ঘ প্রক্রিয়া ব্যবহার করে ব্লব ফাইলের বিষয়বস্তু ডাউনলোড করুন
দীর্ঘ-চলমান অপারেশন (LRO) ব্যবহার করে ব্লব ফাইলের বিষয়বস্তু ডাউনলোড করতে, ডাউনলোড করার ফাইলের আইডি সহ files.download মেথডটি ব্যবহার করুন। আপনি চাইলে রিভিশনের আইডি-ও সেট করতে পারেন।
গুগল ভিডস ফাইল ডাউনলোড করার এটিই একমাত্র উপায়। আপনি যদি গুগল ভিডস ফাইল এক্সপোর্ট করার চেষ্টা করেন, তাহলে একটি fileNotExportable ত্রুটি পাবেন। আরও তথ্যের জন্য, `Manage long-running operations` দেখুন।
কার্ল
নিম্নলিখিত কার্ল (curl) কমান্ডটি একটি LRO শুরু করে এবং একটি JSON রেসপন্স ফেরত দেয়। ফাইলটি ডাউনলোড করতে বা এই LRO-টি পোল (poll) করতে, আপনাকে অবশ্যই ফেরত আসা আইডি (ID) ব্যবহার করে কন্টেন্ট ইউআরএল (content URL) পাওয়ার জন্য আরেকটি রিকোয়েস্ট করতে হবে। তারপর, ফাইলটি ডাউনলোড করার জন্য আপনি সেই ইউআরএল-এ একটি চূড়ান্ত কার্ল রিকোয়েস্ট করতে পারেন। আরও তথ্যের জন্য, 'দীর্ঘস্থায়ী অপারেশন পরিচালনা' (Manage long-running operations ) দেখুন।
curl --request POST "https://www.googleapis.com/drive/v3/files/FILE_ID/download?mimeType=video/mp4" \
--header "Authorization: Bearer ACCESS_TOKEN" \
--header "Content-Length: 0" \
--header "Accept: application/json"
নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
- FILE_ID : ডাউনলোড করার ফাইলের আইডি।
- ACCESS_TOKEN : যে অ্যাক্সেস টোকেনটি এপিআই (API)-তে প্রবেশের অনুমতি দেয়।
গুগল ওয়ার্কস্পেস ডকুমেন্টের বিষয়বস্তু রপ্তানি করুন
গুগল ওয়ার্কস্পেস ডকুমেন্টের বাইট কন্টেন্ট এক্সপোর্ট করতে, এক্সপোর্ট করার ফাইলের আইডি এবং সঠিক MIME টাইপ সহ files.export মেথডটি ব্যবহার করুন। এক্সপোর্ট করা কন্টেন্টের সীমা ১০ মেগাবাইট।
নিম্নলিখিত কোড নমুনাগুলি দেখায় কিভাবে files.export পদ্ধতি ব্যবহার করে একটি গুগল ওয়ার্কস্পেস ডকুমেন্টকে পিডিএফ ফরম্যাটে এক্সপোর্ট করা যায়:
অ্যাপস স্ক্রিপ্ট
/**
* Exports a Google Workspace document.
* @param {string} fileId The ID of the file to export.
* @param {string} mimeType The MIME type to export to.
* @return {Blob} The exported content as a Blob.
*/
function exportPdf(fileId, mimeType) {
var url = 'https://www.googleapis.com/drive/v3/files/' + fileId + '/export?mimeType=' + encodeURIComponent(mimeType);
var response = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + ScriptApp.getOAuthToken()
}
});
return response.getBlob();
}
জাভা
পাইথন
নোড.জেএস
পিএইচপি
.NET
কার্ল
curl -L "https://www.googleapis.com/drive/v3/files/FILE_ID/export?mimeType=application/pdf" \
--header "Authorization: Bearer ACCESS_TOKEN" \
--output "FILE_NAME.pdf"
নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
- FILE_ID : ডাউনলোড করার ফাইলের আইডি।
- ACCESS_TOKEN : যে অ্যাক্সেস টোকেনটি এপিআই (API)-তে প্রবেশের অনুমতি দেয়।
- FILE_NAME : আউটপুট ফাইলের নাম।
ক্লায়েন্ট লাইব্রেরির কোড স্যাম্পলগুলোতে সীমাবদ্ধ drive স্কোপ ব্যবহার করা হয়েছে, যা ব্যবহারকারীদের আপনার ড্রাইভের সমস্ত ফাইল দেখতে ও পরিচালনা করতে দেয়। ড্রাইভ স্কোপ সম্পর্কে আরও জানতে, “গুগল ড্রাইভ এপিআই স্কোপ নির্বাচন করুন” দেখুন।
কোড স্যাম্পলগুলোতেও এক্সপোর্ট MIME টাইপ হিসেবে application/pdf ঘোষণা করা হয়েছে। প্রতিটি Google Workspace ডকুমেন্টের জন্য সমর্থিত সমস্ত এক্সপোর্ট MIME টাইপের সম্পূর্ণ তালিকার জন্য, "Google Workspace ডকুমেন্টের জন্য এক্সপোর্ট MIME টাইপ" দেখুন।
ব্রাউজারে গুগল ওয়ার্কস্পেস ডকুমেন্টের বিষয়বস্তু রপ্তানি করুন
ব্রাউজারের মধ্যে গুগল ওয়ার্কস্পেস ডকুমেন্টের বিষয়বস্তু এক্সপোর্ট করতে, files রিসোর্সের exportLinks ফিল্ডটি ব্যবহার করুন। ডকুমেন্টের ধরনের ওপর নির্ভর করে, উপলব্ধ প্রতিটি MIME টাইপের জন্য ফাইল এবং এর বিষয়বস্তু ডাউনলোড করার একটি লিঙ্ক ফেরত দেওয়া হয়। আপনি ব্যবহারকারীকে একটি URL-এ রিডাইরেক্ট করতে পারেন, অথবা এটিকে একটি ক্লিকযোগ্য লিঙ্ক হিসেবে প্রদান করতে পারেন।
কার্ল
curl "https://www.googleapis.com/drive/v3/files/FILE_ID?fields=id,name,exportLinks" \
--header "Authorization: Bearer ACCESS_TOKEN" \
--header "Accept: application/json"
নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
- FILE_ID : যে ফাইলটির ডাউনলোড লিঙ্ক পেতে চান, তার আইডি।
- ACCESS_TOKEN : যে অ্যাক্সেস টোকেনটি এপিআই (API)-তে প্রবেশের অনুমতি দেয়।
ব্রাউজারে গুগল ওয়ার্কস্পেস ডকুমেন্টের বিষয়বস্তু পূর্ববর্তী সংস্করণে এক্সপোর্ট করুন
ব্রাউজারের মধ্যে গুগল ওয়ার্কস্পেস ডকুমেন্টের কন্টেন্ট পূর্ববর্তী কোনো সংস্করণে এক্সপোর্ট করতে, ডাউনলোড করার ফাইলের আইডি এবং রিভিশনের আইডি সহ revisions.get মেথডটি ব্যবহার করুন। এটি একটি এক্সপোর্ট লিঙ্ক তৈরি করবে যেখান থেকে আপনি ডাউনলোড করতে পারবেন। যদি ব্যবহারকারীর ফাইলটি ডাউনলোড করার অ্যাক্সেস থাকে, তাহলে ফাইল এবং এর কন্টেন্ট ডাউনলোড করার জন্য একটি লিঙ্ক ফেরত দেওয়া হয়। আপনি ব্যবহারকারীকে এই URL-এ রিডাইরেক্ট করতে পারেন, অথবা এটিকে একটি ক্লিকযোগ্য লিঙ্ক হিসেবে প্রদান করতে পারেন।
কার্ল
curl "https://www.googleapis.com/drive/v3/files/FILE_ID/revisions/REVISION_ID?fields=id,name,exportLinks" \
--header "Authorization: Bearer ACCESS_TOKEN" \
--header "Accept: application/json"
নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
- FILE_ID : ডাউনলোড করার ফাইলের আইডি।
- REVISION_ID : ডাউনলোড করার জন্য রিভিশনটির আইডি।
- ACCESS_TOKEN : যে অ্যাক্সেস টোকেনটি এপিআই (API)-তে প্রবেশের অনুমতি দেয়।
দীর্ঘ-চলমান অপারেশন ব্যবহার করে গুগল ওয়ার্কস্পেস ডকুমেন্টের বিষয়বস্তু রপ্তানি করুন
দীর্ঘমেয়াদী অপারেশন (LRO) ব্যবহার করে গুগল ওয়ার্কস্পেস ডকুমেন্টের বিষয়বস্তু এক্সপোর্ট করতে, ডাউনলোড করার ফাইলের আইডি এবং রিভিশনের আইডি সহ files.download মেথডটি ব্যবহার করুন। আরও তথ্যের জন্য, দীর্ঘমেয়াদী অপারেশন পরিচালনা দেখুন।
কার্ল
নিম্নলিখিত কার্ল (curl) কমান্ডটি একটি LRO শুরু করে এবং একটি JSON রেসপন্স ফেরত দেয়। ফাইলটি ডাউনলোড করতে বা এই LRO-টি পোল (poll) করতে, আপনাকে অবশ্যই ফেরত আসা আইডি (ID) ব্যবহার করে কন্টেন্ট ইউআরএল (content URL) পাওয়ার জন্য আরেকটি রিকোয়েস্ট করতে হবে। তারপর, ফাইলটি ডাউনলোড করার জন্য আপনি সেই ইউআরএল-এ একটি চূড়ান্ত কার্ল রিকোয়েস্ট করতে পারেন। আরও তথ্যের জন্য, 'দীর্ঘস্থায়ী অপারেশন পরিচালনা' (Manage long-running operations ) দেখুন।
curl --request POST "https://www.googleapis.com/drive/v3/files/FILE_ID/download?mimeType=MIME_TYPE&revisionId=REVISION_ID" \
--header "Authorization: Bearer ACCESS_TOKEN" \
--header "Content-Length: 0" \
--header "Accept: application/json"
নিম্নলিখিতগুলি প্রতিস্থাপন করুন:
- FILE_ID : ডাউনলোড করার ফাইলের আইডি।
- MIME_TYPE : যে MIME টাইপে এক্সপোর্ট করতে হবে।
- REVISION_ID : ডাউনলোড করার জন্য রিভিশনটির আইডি।
- ACCESS_TOKEN : যে অ্যাক্সেস টোকেনটি এপিআই (API)-তে প্রবেশের অনুমতি দেয়।