API گوگل درایو از چندین نوع عملیات دانلود و خروجی پشتیبانی میکند که در جدول زیر فهرست شدهاند:
| دانلود اکشنها |
| ||||
| اقدامات صادراتی |
|
قبل از دانلود یا اکسپورت کردن محتوای فایل، با استفاده از فیلد capabilities.canDownload در منبع files ، مطمئن شوید که کاربران میتوانند فایل را دانلود کنند.
برای توضیحات انواع فایلهای ذکر شده در اینجا، از جمله فایلهای blob و Google Workspace، به انواع فایل مراجعه کنید.
ادامهی این راهنما، دستورالعملهای دقیقی برای انجام این نوع اقدامات دانلود و اکسپورت ارائه میدهد.
دانلود محتوای فایل blob
برای دانلود یک فایل blob ذخیره شده در Drive، از متد files.get به همراه شناسه فایل مورد نظر برای دانلود و پارامتر alt=media URL استفاده کنید. پارامتر alt=media URL به سرور میگوید که دانلود محتوا به عنوان یک فرمت پاسخ جایگزین درخواست شده است.
پارامتر alt=media URL یک پارامتر سیستمی است که در تمام APIهای REST گوگل موجود است. اگر از یک کتابخانه کلاینت برای Drive API استفاده میکنید، نیازی به تنظیم صریح این پارامتر ندارید.
نمونه کد زیر نحوه استفاده از متد files.get برای دانلود یک فایل با استفاده از کتابخانههای کلاینت Drive API را نشان میدهد.
جاوا
پایتون
نود جی اس
پی اچ پی
دات نت
این نمونه کد از یک متد کتابخانهای استفاده میکند که پارامتر alt=media URL را به درخواست HTTP مربوطه اضافه میکند.
دانلود فایلهایی که از برنامه شما شروع میشوند باید با دامنهای مجاز شوند که امکان دسترسی خواندن به محتوای فایل را فراهم کند. برای مثال، برنامهای که از دامنه drive.readonly.metadata استفاده میکند، مجاز به دانلود محتوای فایل نیست. این نمونه کد از دامنه فایل محدود شده "drive" استفاده میکند که به کاربران امکان مشاهده و مدیریت تمام فایلهای Drive شما را میدهد. برای کسب اطلاعات بیشتر در مورد دامنههای Drive، به دامنههای Choose Google Drive API مراجعه کنید.
کاربرانی که دارای مجوزهای owner (برای فایلهای درایو من) یا مجوزهای organizer (برای فایلهای درایو مشترک) هستند، میتوانند دانلود را از طریق شیء DownloadRestrictionsMetadata محدود کنند. برای اطلاعات بیشتر، به بخش جلوگیری از دانلود، چاپ یا کپی کردن فایل توسط کاربران مراجعه کنید.
فایلهایی که به عنوان فایلهای مخرب (مانند نرمافزارهای مضر) شناسایی میشوند، فقط توسط مالک فایل قابل دانلود هستند. علاوه بر این، پارامتر get query یعنی acknowledgeAbuse=true باید گنجانده شود تا نشان دهد که کاربر خطر دانلود نرمافزارهای ناخواسته یا سایر فایلهای مخرب را پذیرفته است. برنامه شما باید قبل از استفاده از این پارامتر، به صورت تعاملی به کاربر هشدار دهد.
دانلود جزئی
دانلود جزئی شامل دانلود فقط بخش مشخصی از یک فایل است. میتوانید با استفاده از یک محدوده بایت در سربرگ Range ، بخشی از فایل را که میخواهید دانلود کنید، مشخص کنید. برای مثال:
Range: bytes=500-999
دانلود محتوای فایل blob در نسخه قبلی
شما فقط میتوانید نسخههای محتوای فایل blob را که با عنوان "Keep Forever" علامتگذاری شدهاند، دانلود کنید. اگر میخواهید یک نسخه را دانلود کنید، ابتدا آن را روی "Keep Forever" تنظیم کنید. برای اطلاعات بیشتر، به بخش "مشخص کردن نسخهها برای ذخیره از حذف خودکار" مراجعه کنید.
برای دانلود محتوای فایلهای blob در نسخههای قدیمیتر، از متد revisions.get به همراه شناسه فایل مورد نظر برای دانلود، شناسه نسخه و پارامتر alt=media URL استفاده کنید. پارامتر alt=media URL به سرور میگوید که دانلود محتوا به عنوان یک فرمت پاسخ جایگزین درخواست شده است. مشابه files.get ، متد revisions.get پارامتر پرسوجوی اختیاری acknowledgeAbuse و سربرگ Range را نیز میپذیرد. برای اطلاعات بیشتر، به مدیریت عملیات طولانیمدت مراجعه کنید.
پروتکل درخواست در اینجا نشان داده شده است.
GET https://www.googleapis.com/drive/v3/files/{FILE_ID}/revisions/{REVISION_ID}?alt=mediaدانلود محتوای فایل blob در مرورگر
برای دانلود محتوای فایلهای blob ذخیره شده در Drive از طریق مرورگر، به جای API، از فیلد webContentLink در منبع files استفاده کنید. اگر کاربر دسترسی دانلود به فایل را داشته باشد، لینکی برای دانلود فایل و محتویات آن بازگردانده میشود. میتوانید کاربر را به این URL هدایت کنید یا آن را به عنوان یک لینک قابل کلیک ارائه دهید.
دانلود محتوای فایل blob در طول عملیات طولانی مدت
برای دانلود محتوای فایلهای blob در طول عملیات طولانیمدت، از متد files.download به همراه شناسه فایل مورد نظر برای دانلود استفاده کنید. میتوانید به صورت اختیاری شناسه نسخه را تنظیم کنید. این تنها راه دانلود فایلهای Google Vids است. برای اطلاعات بیشتر، به مدیریت عملیات طولانیمدت مراجعه کنید.
محتوای سند Google Workspace را صادر کنید
برای صادر کردن محتوای بایت سند Google Workspace، از متد files.export به همراه شناسه فایل مورد نظر برای صادر کردن و نوع MIME صحیح استفاده کنید. محتوای صادر شده به 10 مگابایت محدود میشود.
نمونه کد زیر نحوه استفاده از متد files.export برای خروجی گرفتن از یک سند Google Workspace با فرمت PDF با استفاده از کتابخانههای کلاینت Drive API را نشان میدهد:
جاوا
پایتون
نود جی اس
پی اچ پی
دات نت
این نمونه کد از محدودهی drive محدود شده استفاده میکند که به کاربران امکان مشاهده و مدیریت تمام فایلهای درایو شما را میدهد. برای کسب اطلاعات بیشتر در مورد محدودههای درایو، به «انتخاب محدودههای API گوگل درایو» مراجعه کنید.
این نمونه کد همچنین نوع MIME خروجی را application/pdf اعلام میکند. برای مشاهده لیست کاملی از تمام انواع MIME خروجی پشتیبانی شده برای هر سند Google Workspace، به Export MIME types for Google Workspace documents مراجعه کنید.
محتوای سند Google Workspace را در یک مرورگر صادر کنید
برای خروجی گرفتن از محتوای سند Google Workspace در مرورگر، از فیلد exportLinks در منبع files استفاده کنید. بسته به نوع سند، برای هر نوع MIME موجود، لینکی برای دانلود فایل و محتوای آن برگردانده میشود. میتوانید کاربر را به یک URL هدایت کنید یا آن را به عنوان یک لینک قابل کلیک ارائه دهید.
محتوای سند Google Workspace را در نسخه قبلی مرورگر صادر کنید
برای خروجی گرفتن از محتوای سند Google Workspace در نسخههای قدیمیتر در مرورگر، از متد revisions.get به همراه شناسه فایل مورد نظر برای دانلود و شناسه نسخه اصلاحشده استفاده کنید تا یک لینک خروجی ایجاد شود که بتوانید از طریق آن دانلود را انجام دهید. اگر کاربر دسترسی دانلود به فایل را داشته باشد، لینکی برای دانلود فایل و محتویات آن برگردانده میشود. میتوانید کاربر را به این URL هدایت کنید یا آن را به عنوان یک لینک قابل کلیک ارائه دهید.
محتوای سند Google Workspace را در طول عملیات طولانی مدت صادر کنید
برای خروجی گرفتن از محتوای سند Google Workspace در طول عملیات طولانی مدت، از متد files.download به همراه شناسه فایل مورد نظر برای دانلود و شناسه نسخه اصلاح شده استفاده کنید. برای اطلاعات بیشتر، به مدیریت عملیات طولانی مدت مراجعه کنید.