In diesem Dokument wird beschrieben, wie Sie Code mithilfe der Drive API für die Berechtigungsverwaltung zur Looker Studio API migrieren. Für gängige Drive API-Endpunkte wird der entsprechende Looker Studio API-Code angezeigt.
Files
Für die Dateiendpunkte der Drive API gibt es in der Looker Studio API nur einen entsprechenden Endpunkt für den Endpunkt Files: list
.
Liste
API | Methode | Endpunkt |
---|---|---|
Drive | POST |
/drive/v3/files |
Looker Studio | GET |
/v1/assets:search |
Vergleich:
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}`
}
})
Siehe Assets für die Suche.
Berechtigungen
Erstellen, löschen und abrufen
API | Methode | Endpunkt |
---|---|---|
Drive | POST |
/drive/v3/files/fileId/permissions |
Drive | DELETE |
/drive/v3/files/fileId/permissions/permissionId |
Drive | GET |
/drive/v3/files/fileId/permissions/permissionId |
In der Looker Studio API gibt es keine entsprechenden Endpunkte für die Verwaltung mehrerer Permissions
-Objekte. Es gibt nur ein Berechtigungsobjekt für ein Looker Studio-Asset und es ist immer vorhanden.
- Informationen zum Entfernen einer Person aus einem Asset finden Sie unter Alle Berechtigungen widerrufen.
- Informationen zum Hinzufügen einer Person zu einem Asset finden Sie unter Mitglieder hinzufügen.
- Informationen zum Ansehen eines Berechtigungsobjekts für ein Asset findest du unter Berechtigungen abrufen.
Liste
Es gibt keine 1:1-Übereinstimmung zwischen Drive und Looker Studio, aber die Endpunkte dienen ähnlichen Zielen. Der Hauptunterschied besteht darin, dass eine Drive-Datei viele Berechtigungsobjekte haben kann und Looker Studio genau eines hat.
API | Methode | Endpunkt |
---|---|---|
Drive | GET |
/drive/v3/files/fileId/permissions |
Looker Studio | GET |
/v1/assets/assetId/permissions |
Vergleich:
Drive
Mit dem folgenden Code werden alle Berechtigungsobjekte für die Drive API aufgelistet. Abhängig von Ihrem Code können Sie diese Methode mehrmals mit Paginierungstokens aufrufen (wie gezeigt), damit Sie alle für eine Datei festgelegten Berechtigungen sehen können.
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
Da für ein Looker Studio-Asset nur ein Berechtigungsobjekt vorhanden ist, müssen Sie die Paginierung nicht berücksichtigen.
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}`
}
}
Weitere Informationen finden Sie unter Berechtigungen abrufen.
Aktualisieren
Die Funktionen der Looker Studio API und der Drive API zum Aktualisieren von Berechtigungen sind sehr ähnlich. Der Hauptunterschied besteht darin, dass Sie keine expirationTime
für eine Looker Studio-Berechtigung festlegen können.
API | Methode | Endpunkt |
---|---|---|
Drive | PATCH |
/drive/v3/files/fileId/permissions/permissionId |
Looker Studio | PATCH |
/v1/assets/assetId/permissions |
Vergleich:
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
})
})
Alternativen für die einzelnen Anwendungsfälle finden Sie hier: