وقتی کاربر روی دکمه «جدید» در رابط کاربری درایو کلیک میکند و برنامهای را در رابط کاربری درایو انتخاب میکند، درایو کاربر را به آدرس اینترنتی جدید آن برنامه که در بخش «پیکربندی ادغام رابط کاربری درایو» تعریف شده است، هدایت میکند.
سپس برنامه شما مجموعهای پیشفرض از متغیرهای قالب را در یک پارامتر state دریافت میکند. اطلاعات پیشفرض state برای یک URL جدید به صورت زیر است:
{
"action":"create",
"folderId":"FOLDER_ID",
"folderResourceKey":"FOLDER_RESOURCE_KEY",
"userId":"USER_ID"
}
این خروجی شامل مقادیر زیر است:
-
create: عملی که انجام میشود. مقدارcreateزمانی که کاربر روی دکمه "New" در رابط کاربری Drive کلیک میکند، نمایش داده میشود. - FOLDER_ID : شناسه پوشه والد.
- FOLDER_RESOURCE_KEY : کلید منبع پوشهی والد.
- USER_ID : شناسه پروفایل که به طور منحصر به فرد کاربر را شناسایی میکند.
برنامه شما باید با دنبال کردن مراحل زیر به این درخواست پاسخ دهد:
- تأیید کنید که فیلد
actionدارای مقدارcreateاست. - از مقدار
userIdبرای ایجاد یک جلسه جدید برای کاربر استفاده کنید. برای اطلاعات بیشتر در مورد کاربران وارد شده، به بخش کاربران و رویدادهای جدید مراجعه کنید. - از متد
files.createبرای ایجاد یک منبع فایل استفاده کنید. اگر در درخواست،folderIdتنظیم شده بود، فیلدparentsرا روی مقدارfolderIdتنظیم کنید. - اگر در درخواست،
folderResourceKeyتنظیم شده بود، هدر درخواستX-Goog-Drive-Resource-Keysرا تنظیم کنید. برای اطلاعات بیشتر در مورد کلیدهای منبع، به دسترسی به فایلهای اشتراکگذاری شده با لینک با استفاده از کلیدهای منبع مراجعه کنید.
پارامتر state توسط URL کدگذاری شده است، بنابراین برنامه شما باید کاراکترهای escape را مدیریت کرده و آن را به صورت JSON تجزیه کند.
کاربران و رویدادهای جدید
برنامههای Drive باید تمام رویدادهای «ایجاد» را به عنوان ورودهای احتمالی در نظر بگیرند. برخی از کاربران ممکن است چندین حساب کاربری داشته باشند، بنابراین شناسه کاربری در پارامتر state ممکن است با جلسه فعلی مطابقت نداشته باشد. اگر شناسه کاربری در پارامتر state با جلسه فعلی مطابقت ندارد، جلسه فعلی برنامه خود را پایان دهید و به عنوان کاربر درخواستی وارد سیستم شوید.