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