كيفية استخدام Google Drive API والحصول على مفتاح API
Google Drive API هي أداة تتيح للمستخدمين إنشاء تطبيقات تستفيد من التخزين السحابي على Drive. باستخدام هذه الميزة ، يمكنك تطوير تطبيقات تتكامل مع Google Drive وإنشاء وظائف قوية في تطبيقاتك.
ماذا يمكنك أن تفعل باستخدام هذه الأداة
يمكن استخدام هذا الخيار من أجل:
- قم بتنزيل وتحميل الملفات على Drive.
- ابحث عن الملفات والمجلدات.
- قم بإنشاء استعلامات بحث معقدة تقوم بإرجاع أي من حقول البيانات الأولية للملف في مورد الملفات.
- السماح للمستخدمين بمشاركة الملفات والمجلدات ومحركات الأقراص للتعاون في المحتوى.
- ادمج مع Picker API للبحث في جميع الملفات في Google Drive ، وإرجاع اسم الملف وعنوان URL وتاريخ آخر تعديل والمستخدم.
- أنشئ اختصارات عبارة عن روابط خارجية للبيانات المحفوظة خارج Drive ، في مخزن بيانات مختلف أو نظام تخزين سحابي.
- قم بتكوين مجلد مخصص لتخزين بيانات التطبيق الخاص بك لمنع التطبيق من الوصول إلى جميع محتويات المستخدم.
- التكامل مع Drive UI التي يمكن استخدامها للتفاعل مع ملفات Drive.
للعمل بنجاح مع API ، يجب عليك الحصول على مفتاح API. دعونا نرى كيف يمكنك القيام بذلك.
كيفية الحصول على مفتاح Google Drive API
لإنشاء مفتاح API الخاص بك ، يجب منح حسابك دور المحرر الأولي في المشروع الجاري.
لإعداد مفتاح API ، اتبع الخطوات التالية:
افتح واجهات برمجة التطبيقات والخدمات → لوحة بيانات الاعتماد في وحدة تحكم Cloud Google Drive API.
اختر خيار إنشاء بيانات اعتماد ثم حدد مفتاح API من القائمة المنسدلة.
ستعرض شاشة الحوار مفتاح API الجديد الخاص بك.
إذا كنت بحاجة إلى تحديد صفحات الويب أو عناوين IP أو التطبيقات التي يمكنها تطبيق مفتاح API الخاص بك ، فأنت حر في إضافة قيود التطبيق بناءً على نوع التطبيق الخاص بك. ضع في اعتبارك أنه يمكنك فقط تعيين نوع تقييد واحد لكل مفتاح API.
باستخدام Google Drive API: أمثلة
هناك عدة طرق يمكنك من خلالها تطبيق Google Drive API. دعونا نناقش بعضها.
مثال 1: ملف تحميل Google Drive API
يمكنك تحميل بيانات الملف عند إنشاء أو تحديث مورد ملف. هناك ثلاثة أنواع من التحميلات التي يمكنك إجراؤها:
بسيط . وهي مناسبة للنقل السريع لملف صغير (5 ميغا بايت أو أقل).
تحميل متعدد الأجزاء . يمكن استخدامه للنقل السريع لملف صغير وبيانات وصفية تصف الملف ، وكل ذلك في طلب واحد.
تحميل قابل للاستئناف. يمكن إجراؤه لنقل أكثر موثوقية ، خاصة مع الملفات الكبيرة.
يوضح هذا المثال طلب تحميل بسيط :
1
2
3
4
5
6
|
POST googleapis/upload/drive/v3/files?uploadType=media HTTP/1.1 Content-Type: image/jpeg Content-Length: [NUMBER_OF_BYTES_IN_FILE] Authorization: Bearer [YOUR_AUTH_TOKEN] [JPEG_DATA] |
A متعددة الأجزاء تحميل طلب يمكن أن تبدو مثل هذا:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
POST googleapis/upload/drive/v3/files?uploadType=multipart HTTP/1.1 Authorization: Bearer [YOUR_AUTH_TOKEN] Content-Type: multipart/related; boundary=foo_bar_baz Content-Length: [NUMBER_OF_BYTES_IN_ENTIRE_REQUEST_BODY] --foo_bar_baz Content-Type: application/json; charset=UTF-8 { "name" : "myObject" } --foo_bar_baz Content-Type: image/jpeg [JPEG_DATA] --foo_bar_baz-- |
يوضح هذا المثال كيفية بدء جلسة استئناف لتحميل ملف جديد:
1
2
3
4
5
6
7
8
9
10
|
POST googleapis/upload/drive/v3/files?uploadType=resumable HTTP/1.1 Authorization: Bearer [YOUR_AUTH_TOKEN] Content-Length: 38 Content-Type: application/json; charset=UTF-8 X-Upload-Content-Type: image/jpeg X-Upload-Content-Length: 2000000 { "name" : "myObject" } |
تستخدم معظم مكتبات عملاء واجهة برمجة تطبيقات Google طريقة واحدة على الأقل من هذه الطرق.
مثال 2: ملف مشاركة Google Drive API
يحتوي كل ملف Google Drive على موارد أذونات مرتبطة. يحدد كل مورد إذنًا لنوع ودور معينين ، على سبيل المثال ، “معلق” أو “قارئ”. لمشاركة ملف أو مجلد ، يجب أن يكون للمستخدم دور الكاتب.
يكتب. يحدد نطاق الإذن – مستخدم أو مجموعة أو مجال أو أي شخص.
دور. يحدد العمليات التي يمكن أن يؤديها النوع.
فيما يلي مثال على تنفيذ إذن بمكتبة العميل.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
String fileId = "1sTWaJ_j7PkjzaBWtNc3IzovK5hQf21FbOw9yLeeLPNQ"; JsonBatchCallback< Permission > callback = new JsonBatchCallback< Permission >() { @Override public void onFailure(GoogleJsonError e, HttpHeaders responseHeaders) throws IOException { // Handle error System.err.println(e.getMessage()); } @Override public void onSuccess(Permission permission, HttpHeaders responseHeaders) throws IOException { System.out.println("Permission ID: " + permission.getId()); } }; BatchRequest batch = driveService.batch(); Permission userPermission = new Permission() .setType("user") .setRole("writer") .setEmailAddress("[email protected]"); driveService.permissions().create(fileId, userPermission) .setFields("id") .queue(batch, callback); Permission domainPermission = new Permission() .setType("domain") .setRole("reader") .setDomain("example.com"); driveService.permissions().create(fileId, domainPermission) .setFields("id") .queue(batch, callback); batch.execute(); |
مثال 3: بحث Google Drive API عن الملفات وقائمة الملفات في المجلد
للبحث عن مجموعة محددة من الملفات والمجلدات ، يجب استخدام سلسلة الاستعلام q
مع files.lis
t لتصفية الملفات للعودة.
يوضح المثال التالي تنسيق سلسلة الاستعلام:
1
|
query_term operator values |
أين:
query_term
هو مصطلح الاستعلام أو الحقل للبحث عنه. لاستعراض مصطلحات الاستعلام التي يمكن استخدامها لفلترة مساحات Drive المشتركة ، استشهد بعبارات طلب البحث .
operator
يعيّن شرط مصطلح الاستعلام. يمكنك الرجوع إلى عوامل تشغيل الاستعلام لعرض العوامل التي يمكنك استخدامها مع كل مصطلح استعلام.
values
هي القيم المحددة التي تستخدمها لتصفية نتائج البحث.
يوضح المثال التالي كيفية استخدام مكتبة العميل لتصفية نتائج البحث لأسماء الملفات ومعرفات صور JPEG.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
String pageToken = null; do { FileList result = driveService.files().list() .setQ("mimeType='image/jpeg'") .setSpaces("drive") .setFields("nextPageToken, files(id, name)") .setPageToken(pageToken) .execute(); for (File file : result.getFiles()) { System.out.printf("Found file: %s (%s)\n", file.getName(), file.getId()); } pageToken = result.getNextPageToken(); } while (pageToken != null); |
مثال 4: واجهة برمجة تطبيقات جداول بيانات Google Drive
لإنشاء جدول بيانات جديد ، يجب عليك استخدام طريقة create () في مجموعة جداول البيانات كما هو موضح في المثال أدناه.
1
2
3
4
5
6
7
|
Spreadsheet spreadsheet = new Spreadsheet() .setProperties(new SpreadsheetProperties() .setTitle(title)); spreadsheet = service.spreadsheets().create(spreadsheet) .setFields("spreadsheetId") .execute(); System.out.println("Spreadsheet ID: " + spreadsheet.getSpreadsheetId()); |
مثال 5: Google Drive API حذف الملف
لتخطي سلة المهملات ، يمكنك حذف الملف نهائيًا بواسطة المعرف. يجب أن يمتلك المستخدم المُصادق عليه حاليًا الملف أو أن يكون منظمًا للجهة الرئيسية لملفات مساحة Drive المشتركة. مثال الكود لهذه الطريقة:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import com.google.api.services.drive.Drive; import java.io.IOException; // ... public class MyClass { // ... /** * Permanently delete a file, skipping the trash. * * @param service Drive API service instance. * @param fileId ID of the file to delete. */ private static void deleteFile(Drive service, String fileId) { try { service.files().delete(fileId).execute(); } catch (IOException e) { System.out.println("An error occurred: " + e); } } // ... } |
وثائق Google Drive API
يمكنك العثور على وثائق Google Drive API الضرورية هنا . يحتوي على جميع الملفات الخاصة بالعمل مع API للمطورين وأيضًا حول دمجها في موقع الويب الخاص بك.
حدود واجهة برمجة تطبيقات Google Drive والأسعار
استخدام Google Drive API مجاني تمامًا للمستخدمين في جميع أنحاء العالم. على الرغم من أنه يحتوي على بعض حدود الاستخدام:
الطلبات | حدود |
طلبات في اليوم | 1،000،000 |
الطلبات لكل 100 ثانية لكل مستخدم | 1،000 |
يمكنك العثور على رابط لطلب المزيد من الحصص في علامة التبويب “الحصص” – إذا كنت بحاجة إلى أكثر من الافتراضي.