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