وقتی کاربر فایلی را انتخاب میکند و روی گزینه «باز کردن با» در منوی رابط کاربری درایو کلیک میکند، درایو کاربر را به آدرس اینترنتی باز کردن آن برنامه که در بخش «پیکربندی یکپارچهسازی رابط کاربری درایو» تعریف شده است، هدایت میکند.
اگر هنگام پیکربندی یکپارچهسازی رابط کاربری درایو، کادر «وارد کردن» را علامت زده باشید، کاربر میتواند ترکیبی از فایلهای مخصوص برنامه و فایلهای Google Workspace را برای باز کردن انتخاب کند. هنگام پیکربندی یکپارچهسازی رابط کاربری درایو، فایلهای مخصوص برنامه در فیلدهای «انواع MIME پیشفرض» و «پسوندهای فایل پیشفرض» تعریف میشوند، در حالی که فایلهای Google Workspace در فیلدهای «انواع MIME ثانویه» و «پسوندهای فایل ثانویه» تعریف میشوند.
برای هر فایلی که کاربر میخواهد باز کند، درایو انواع MIME را با انواع MIME پیشفرض و ثانویه تعریفشده شما مقایسه میکند:
برای انواع MIME تعریف شده در فیلد "انواع MIME پیشفرض"، شناسه فایل به برنامه شما ارسال میشود. برای اطلاعات بیشتر در مورد نحوه مدیریت فایلهای خاص برنامه، به بخش مدیریت URL باز برای اسناد خاص برنامه مراجعه کنید.
برای انواع MIME تعریفشده در فیلد «انواع MIME ثانویه»، رابط کاربری Drive پنجرهای را نمایش میدهد که از کاربر میپرسد فایل Google Workspace را به چه نوع فایلی تبدیل کند. برای مثال، اگر یک فایل Google Docs را در رابط کاربری Drive انتخاب کنید و فیلد «انواع MIME ثانویه» پیشنهاد دهد که برنامه شما از متن/ساده یا برنامه/pdf پشتیبانی میکند، رابط کاربری Drive از کاربر میپرسد که آیا میخواهد به متن ساده تبدیل شود یا PDF.
برای اطلاعات بیشتر در مورد نحوه مدیریت فایلهای Google Workspace، به بخش مدیریت URL باز برای اسناد Google Workspace مراجعه کنید. برای مشاهده فهرستی از اسناد Google Workspace و قالبهای تبدیل نوع MIME، به بخش صادرات انواع MIME برای اسناد Google Workspace مراجعه کنید.
مدیریت یک URL باز برای اسناد مخصوص برنامه
همانطور که در پیکربندی یکپارچهسازی رابط کاربری درایو ذکر شد، برنامه شما متغیرهای قالب را به همراه اطلاعاتی برای باز کردن فایل دریافت میکند. برنامه شما مجموعهای پیشفرض از متغیرهای قالب را در یک پارامتر state
دریافت میکند. اطلاعات state
پیشفرض برای یک URL باز مخصوص برنامه عبارت است از:
{
"ids": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
این خروجی شامل مقادیر زیر است:
- ID : شناسه پوشه والد.
- RESOURCE_KEYS : یک دیکشنری JSON از شناسههای فایل که به کلیدهای منبع مربوطه نگاشت شدهاند.
-
open
: عملی که انجام میشود. مقدار آن هنگام استفاده از URL باز،open
است. - USER_ID : شناسه پروفایل که به طور منحصر به فرد کاربر را شناسایی میکند.
برنامه شما باید با دنبال کردن مراحل زیر به این درخواست پاسخ دهد:
- تأیید کنید که فیلد
action
مقدارopen
دارد و فیلدids
موجود است. - از مقدار
userId
برای ایجاد یک جلسه جدید برای کاربر استفاده کنید. برای اطلاعات بیشتر در مورد کاربران وارد شده، به بخش کاربران و رویدادهای جدید مراجعه کنید. - از متد
files.get
برای بررسی مجوزها، دریافت فرادادههای فایل و دانلود محتوای فایل با استفاده از مقادیرID
استفاده کنید. - اگر
resourceKeys
در درخواست تنظیم شده بود، هدر درخواستX-Goog-Drive-Resource-Keys
تنظیم کنید. برای اطلاعات بیشتر در مورد کلیدهای منبع، به دسترسی به فایلهای لینک-اشتراکگذاری شده با استفاده از کلیدهای منبع مراجعه کنید.
پارامتر state
توسط URL کدگذاری شده است، بنابراین برنامه شما باید کاراکترهای escape را مدیریت کرده و آن را به صورت JSON تجزیه کند.
مدیریت یک URL باز برای اسناد Google Workspace
همانطور که در پیکربندی یکپارچهسازی رابط کاربری درایو ذکر شد، برنامه شما مجموعهای پیشفرض از متغیرهای قالب را در یک پارامتر state
دریافت میکند. اطلاعات state
پیشفرض برای یک URL باز Google Workspace به شرح زیر است:
{
"exportIds": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS&
quot;},
"action":"open",
"userId":"USER_ID"
}
این خروجی شامل مقادیر زیر است:
- EXPORT_ID : فهرستی از شناسههای فایلهای خروجی که با کاما از هم جدا شدهاند. فقط هنگام باز کردن فایلهای Google Workspace استفاده میشود.
- RESOURCE_KEYS : یک دیکشنری JSON از شناسههای فایل که به کلیدهای منبع مربوطه نگاشت شدهاند.
-
open
: عملی که انجام میشود. مقدار آن هنگام استفاده از URL باز،open
است. - USER_ID : شناسه پروفایل که کاربر را شناسایی میکند.
برنامه شما باید با دنبال کردن مراحل زیر به این درخواست پاسخ دهد:
با تشخیص مقدار
open
در فیلدstate
و وجود فیلدexportIds
، تأیید کنید که این درخواست برای باز کردن یک فایل است.از متد
files.get
برای بررسی مجوزها، دریافت فرادادههای فایل و تعیین نوع MIME با استفاده از مقادیرEXPORT_ID
استفاده کنید.محتوای فایل را با استفاده از متد
files.export
تبدیل کنید. نمونه کد زیر نحوهی خروجی گرفتن از یک سند Google Workspace به نوع MIME درخواستی را نشان میدهد.اگر
resourceKey
در درخواست تنظیم شده بود، هدر درخواستX-Goog-Drive-Resource-Keys
تنظیم کنید. برای اطلاعات بیشتر در مورد کلیدهای منبع، به دسترسی به فایلهای لینک-اشتراکگذاری شده با استفاده از کلیدهای منبع مراجعه کنید.جاوا
پایتون
نود جی اس
پی اچ پی
فایلهای تبدیلشده را به صورت فقط خواندنی نمایش دهید یا پنجرهای را نمایش دهید که به کاربر اجازه میدهد فایل را به عنوان نوع فایل جدید ذخیره کند.
پارامتر state
توسط URL کدگذاری شده است، بنابراین برنامه شما باید کاراکترهای escape را مدیریت کرده و آن را به صورت JSON تجزیه کند.
کاربران و رویدادهای جدید
برنامههای Drive باید تمام رویدادهای «باز کردن با» را به عنوان ورودهای احتمالی در نظر بگیرند. برخی از کاربران ممکن است چندین حساب کاربری داشته باشند، بنابراین شناسه کاربری در پارامتر state
ممکن است با جلسه فعلی مطابقت نداشته باشد. اگر شناسه کاربری در پارامتر state
با جلسه فعلی مطابقت ندارد، جلسه فعلی برنامه خود را پایان دهید و به عنوان کاربر درخواستی وارد سیستم شوید.
مباحث مرتبط
علاوه بر باز کردن یک برنامه از رابط کاربری گوگل درایو، برنامهها میتوانند یک انتخابگر فایل را برای انتخاب محتوا از درون یک برنامه نمایش دهند. برای اطلاعات بیشتر، به Google Picker مراجعه کنید.