الدمج مع الزر "جديد" لواجهة مستخدم Drive
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
عندما ينقر المستخدم على زر "جديد" في واجهة مستخدم Drive ويختار تطبيقًا في واجهة مستخدم Drive، يعيد Drive توجيه المستخدم إلى عنوان URL الجديد الخاص بهذا التطبيق والمحدّد في إعداد عملية دمج في واجهة مستخدم Drive.
بعد ذلك، يتلقّى تطبيقك مجموعة تلقائية من متغيّرات النموذج ضمن المَعلمة
state
. المعلومات التلقائية state
لعنوان URL جديد هي:
{
"action":"create",
"folderId":"FOLDER_ID",
"folderResourceKey":"FOLDER_RESOURCE_KEY",
"userId":"USER_ID"
}
يتضمّن هذا الناتج القيم التالية:
-
create
: الإجراء الذي يتم تنفيذه تكون القيمة create
عندما ينقر المستخدم على زر "جديد" في واجهة مستخدم Drive.
- FOLDER_ID: معرّف المجلد الرئيسي
- FOLDER_RESOURCE_KEY: مفتاح المورد للمجلد الرئيسي
- USER_ID: معرّف الملف الشخصي الذي يحدّد المستخدم بشكل فريد.
يجب أن يتّخذ تطبيقك إجراءً بشأن هذا الطلب باتّباع الخطوات التالية:
- تأكَّد من أنّ حقل
action
يتضمّن القيمة create
.
- استخدِم القيمة
userId
لإنشاء جلسة جديدة للمستخدم. لمزيد من المعلومات عن المستخدمين الذين سجّلوا الدخول، اطّلِع على المستخدمون والأحداث الجديدة.
- استخدِم الطريقة
files.create
لإنشاء مورد ملف. إذا تم ضبط folderId
في الطلب، اضبط الحقل parents
على قيمة folderId
.
- إذا تم ضبط
folderResourceKey
في الطلب، اضبط عنوان الطلب X-Goog-Drive-Resource-Keys
. لمزيد من المعلومات حول مفاتيح الموارد، يُرجى الاطّلاع على الوصول إلى الملفات التي تتم مشاركتها باستخدام رابط من خلال مفاتيح الموارد.
يتم ترميز المَعلمة state
باستخدام ترميز عنوان URL، لذا يجب أن يتعامل تطبيقك مع أحرف الإلغاء
ويحلّلها بتنسيق JSON.
المستخدمون والأحداث الجديدة
يجب أن تتعامل تطبيقات Drive مع جميع أحداث "إنشاء" على أنّها عمليات تسجيل دخول محتملة. قد يكون لدى بعض المستخدمين حسابات متعددة، لذا قد لا يتطابق معرّف المستخدم في المَعلمة state
مع الجلسة الحالية. إذا كان معرّف المستخدم في المَعلمة state
لا يتطابق مع الجلسة الحالية، عليك إنهاء الجلسة الحالية لتطبيقك وتسجيل الدخول بصفتك المستخدم المطلوب.
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-08-04 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-04 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Integrate with Drive UI's "New" button\n\nWhen a user clicks [Drive UI's \"New\"\nbutton](/workspace/drive/api/guides/about-apps#new) and selects an app in the\nDrive UI, Drive redirects the user to that app's New URL\ndefined in [Configure a Drive UI\nintegration](/workspace/drive/api/guides/enable-sdk).\n\nYour app then receives a default set of template variables within a\n[`state`](/workspace/drive/api/guides/enable-sdk#construct) parameter. The default `state`\ninformation for a New URL is: \n\n {\n \"action\":\"create\",\n \"folderId\":\"\u003cvar translate=\"no\"\u003eFOLDER_ID\u003c/var\u003e\",\n \"folderResourceKey\":\"\u003cvar translate=\"no\"\u003eFOLDER_RESOURCE_KEY\u003c/var\u003e\",\n \"userId\":\"\u003cvar translate=\"no\"\u003eUSER_ID\u003c/var\u003e\"\n }\n\nThis output includes the following values:\n\n- `create`: The action being performed. The value is `create` when a user clicks [Drive UI's \"New\"\n button](/workspace/drive/api/guides/about-apps#new).\n- \u003cvar translate=\"no\"\u003eFOLDER_ID\u003c/var\u003e: The ID of the parent folder.\n- \u003cvar translate=\"no\"\u003eFOLDER_RESOURCE_KEY\u003c/var\u003e: The resource key of the parent folder.\n- \u003cvar translate=\"no\"\u003eUSER_ID\u003c/var\u003e: The profile ID that uniquely identifies the user.\n\nYour app must act on this request by following these steps:\n\n1. Verify that the `action` field has a value of `create`.\n2. Use the `userId` value to create a new session for the user. For more information on signed-in users, see [Users \\& new events](#potential-logins).\n3. Use the [`files.create`](/workspace/drive/api/v3/reference/files/create) method to create a file resource. If `folderId` was set on the request, set the `parents` field to the `folderId` value.\n4. If `folderResourceKey` was set on the request, set the `X-Goog-Drive-Resource-Keys` request header. For more information on resource keys, see [Access link-shared files using resource\n keys](/workspace/drive/api/guides/resource-keys).\n\nThe `state` parameter is URL-encoded, so your app must handle the escape\ncharacters and parse it as JSON.\n\nUsers \\& new events\n-------------------\n\nDrive apps should treat all \"create\" events as potential\nsign-ins. Some users might have multiple accounts, so the user ID in the `state`\nparameter might not match the current session. If the user ID in the `state`\nparameter doesn't match the current session, end the current session for your\napp and sign in as the requested user."]]