يوضّح هذا المستند كيفية نقل الرمز البرمجي الذي يستخدم Drive API لإدارة الأذونات إلى واجهة برمجة تطبيقات مركز البيانات. بالنسبة إلى نقاط النهاية الشائعة في Drive API، يعرض رمز Data Studio API المقابل.
الملفات
بالنسبة إلى نقاط نهاية الملفات في Drive API، لا تتضمّن واجهة برمجة تطبيقات مركز البيانات نقطة نهاية مكافئة إلا لنقطة نهاية Files: list.
قائمة
| واجهة برمجة التطبيقات | الطريقة | نقطة نهاية |
|---|---|---|
| Drive | POST |
/drive/v3/files |
| مركز البيانات | GET |
/v1/assets:search |
المقارنة:
Drive
const oAuthToken = '123' // This should be replaced with a valid OAuth token.
fetch(`https://www.googleapis.com/drive/v3/files`, {
headers: {
Authorization: `Bearer ${oAuthToken}`
},
method: "POST",
})
مركز البيانات من Google
const oAuthToken = '123' // This should be replaced with a valid OAuth token.
fetch(`https://datastudio.googleapis.com/v1/assets:search?assetTypes={ASSET_TYPE}`, {
headers: {
Authorization: `Bearer ${oAuthToken}`
}
})
اطّلِع على مواد العرض على شبكة البحث.
الأذونات
الإنشاء والحذف والحصول
| واجهة برمجة التطبيقات | الطريقة | نقطة نهاية |
|---|---|---|
| Drive | POST |
/drive/v3/files/fileId/permissions |
| Drive | DELETE |
/drive/v3/files/fileId/permissions/permissionId |
| Drive | GET |
/drive/v3/files/fileId/permissions/permissionId |
لا تتوفّر نقاط نهاية مقابلة في واجهة برمجة تطبيقات مركز البيانات لإدارة عناصر Permissions متعددة. لا يتوفّر سوى عنصر أذونات واحد لمادة عرض في "مركز البيانات"، وهو متوفّر دائمًا.
- لإزالة مستخدم من مادة عرض، يُرجى الاطّلاع على إبطال جميع الأذونات.
- لإضافة مستخدم إلى مادة عرض، يُرجى الاطّلاع على إضافة أعضاء.
- للاطّلاع على عنصر أذونات خاص بأحد مواد العرض، يُرجى الاطّلاع على الحصول على الأذونات.
قائمة
لا يوجد تطابق تام بين Drive و"مركز البيانات"، ولكن نقاط النهاية تخدم أهدافًا متشابهة. والفرق الرئيسي هو أنّ ملف Drive يمكن أن يتضمّن العديد من عناصر الأذونات، بينما يتضمّن "مركز البيانات" عنصرًا واحدًا فقط.
| واجهة برمجة التطبيقات | الطريقة | نقطة نهاية |
|---|---|---|
| Drive | GET |
/drive/v3/files/fileId/permissions |
| مركز البيانات | GET |
/v1/assets/assetId/permissions |
المقارنة:
Drive
يسرد الرمز التالي جميع عناصر الأذونات الخاصة بواجهة برمجة التطبيقات Drive API. استنادًا إلى الرمز البرمجي، يمكنك استدعاء هذه الطريقة عدة مرات باستخدام رموز مميزة خاصة بتقسيم المحتوى إلى صفحات (كما هو موضّح) للتأكّد من إمكانية الاطّلاع على جميع الأذونات التي تم ضبطها لملف.
const fileId = '123'; // This should be replaced with a valid Drive ID.
const oAuthToken = '123'; // This should be replaced with a valid OAuth token.
let nextPageToken = undefined;
let permissions = [];
do {
const permissionsData = await fetch(`https://www.googleapis.com/drive/v3/files/${fileId}/permissions`, {
headers: {
Authorization: `Bearer ${oAuthToken}`
}
});
nextPageToken = permissionsData.nextPageToken;
permissions = permissions.concat(permissionsData.permissions)
} while (nextPageToken !== undefined);
مركز البيانات من Google
بما أنّه لا يتوفّر سوى عنصر إذن واحد لأحد مواد عرض "مركز البيانات"، لن تحتاج إلى مراعاة تقسيم المحتوى إلى صفحات.
const oAuthToken = '123' // This should be replaced with a valid OAuth token.
const assetId = '123' // This should be replaced with a valid asset ID.
fetch(`https://datastudio.googleapis.com/v1/assets/{ASSET_ID}/permissions`, {
headers: {
Authorization: `Bearer ${oAuthToken}`
}
}
اطّلِع على كيفية الحصول على الأذونات.
تعديل
تتوفّر وظائف متشابهة جدًا في واجهتَي برمجة التطبيقات مركز البيانات وDrive لتعديل الأذونات. الفرق الرئيسي هو أنّه لا يمكنك ضبط expirationTime على إذن في "مركز البيانات".
| واجهة برمجة التطبيقات | الطريقة | نقطة نهاية |
|---|---|---|
| Drive | PATCH |
/drive/v3/files/fileId/permissions/permissionId |
| مركز البيانات | PATCH |
/v1/assets/assetId/permissions |
المقارنة:
Drive
const fileId = '123'; // This should be replaced with a valid Drive ID.
const oAuthToken = '123'; // This should be replaced with a valid OAuth token.
const newPermissionsObject = {
expirationTime: '...',
role: 'owner', // Or any other option
}
fetch(`https://www.googleapis.com/drive/v3/files/${fileId}/permissions/permissionId`, {
headers: {
Authorization: `Bearer ${oAuthToken}`
},
method: "PATCH",
body: JSON.stringify(newPermissionsObject)
})
مركز البيانات من Google
const oAuthToken = '123' // This should be replaced with a valid OAuth token.
const assetId = '123' // This should be replaced with a valid asset ID.
const newPermissionsObject = {
permissions: {
//...
}
}
fetch(`https://datastudio.googleapis.com/v1/assets/${assetId}/permissions`, {
headers: {
Authorization: `Bearer ${oAuthToken}`
},
method: "PATCH",
body: JSON.stringify({
name: assetId,
permissions: newPermissionsObject
})
})
للاطّلاع على بدائل خاصة بحالات الاستخدام، يُرجى الرجوع إلى: