يوضّح هذا المستند كيفية نقل الرمز البرمجي الذي يستخدم واجهة برمجة تطبيقات Drive لإدارة الأذونات إلى واجهة برمجة تطبيقات Looker Studio. بالنسبة إلى نقاط النهاية الشائعة في Drive API، يعرض رمز Looker Studio API المقابل.
الملفات
بالنسبة إلى نقاط نهاية الملفات في Drive API، لا تتضمّن Looker Studio API نقطة نهاية مكافئة إلا لنقطة النهاية Files: list.
قائمة
| واجهة برمجة التطبيقات | الطريقة | نقطة نهاية |
|---|---|---|
| Drive | POST |
/drive/v3/files |
| Looker Studio | 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",
})
Looker Studio
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 |
لا تتوفّر نقاط نهاية مقابلة في Looker Studio API لإدارة عناصر Permissions متعددة. لا يتوفّر سوى عنصر أذونات واحد لمادة عرض Looker Studio، وهو متوفّر دائمًا.
- لإزالة مستخدم من مادة عرض، يُرجى الاطّلاع على إبطال جميع الأذونات.
- لإضافة مستخدم إلى مادة عرض، يُرجى الاطّلاع على إضافة أعضاء.
- للاطّلاع على عنصر أذونات خاص بأحد مواد العرض، يُرجى الاطّلاع على الحصول على الأذونات.
قائمة
لا يوجد تطابق تام بين Drive وLooker Studio، ولكن تخدم نقاط النهاية أهدافًا متشابهة. الفرق الرئيسي هو أنّ ملف Drive يمكن أن يحتوي على العديد من عناصر الأذونات، بينما يحتوي Looker Studio على عنصر واحد فقط.
| واجهة برمجة التطبيقات | الطريقة | نقطة نهاية |
|---|---|---|
| Drive | GET |
/drive/v3/files/fileId/permissions |
| Looker Studio | 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);
Looker Studio
بما أنّه لا يوجد سوى عنصر إذن واحد لمادة عرض Looker Studio، ليس عليك مراعاة تقسيم المحتوى إلى صفحات.
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}`
}
}
اطّلِع على كيفية الحصول على الأذونات.
تعديل
تتوفّر وظائف متشابهة جدًا في واجهات برمجة التطبيقات الخاصة بكل من Looker Studio وDrive لتعديل الأذونات. الفرق الرئيسي هو أنّه لا يمكنك ضبط expirationTime على إذن في Looker Studio.
| واجهة برمجة التطبيقات | الطريقة | نقطة نهاية |
|---|---|---|
| Drive | PATCH |
/drive/v3/files/fileId/permissions/permissionId |
| Looker Studio | 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)
})
Looker Studio
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
})
})
للحصول على بدائل خاصة بحالات الاستخدام، يُرجى الاطّلاع على: