In diesem Dokument wird beschrieben, wie Sie Code, der die Drive API zur Berechtigungsverwaltung verwendet, zur Looker Studio API migrieren. Für gängige Drive API-Endpunkte wird der entsprechende Looker Studio API-Code angezeigt.
Dateien
Für die Dateiendpunkte der Drive API gibt es in der Looker Studio API nur einen entsprechenden Endpunkt für den Files: list-Endpunkt.
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}`
}
})
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 |
Es gibt keine entsprechenden Endpunkte in der Looker Studio API zum Verwalten 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 hier.
- Informationen zum Hinzufügen von Personen zu einem Asset finden Sie unter Mitglieder hinzufügen.
- Informationen zum Aufrufen eines Berechtigungsobjekts für ein Asset finden Sie unter Berechtigungen abrufen.
Liste
Es gibt keine 1:1-Entsprechung zwischen Drive und Looker Studio, aber die Endpunkte dienen ähnlichen Zwecken. Der Hauptunterschied besteht darin, dass eine Drive-Datei viele Berechtigungsobjekte haben kann, während es in Looker Studio genau eines gibt.
| API | Methode | Endpunkt |
|---|---|---|
| Drive | GET |
/drive/v3/files/fileId/permissions |
| Looker Studio | GET |
/v1/assets/assetId/permissions |
Vergleich:
Drive
Im folgenden Code werden alle Berechtigungsobjekte für die Drive API aufgeführt. Je nach Code rufen Sie diese Methode möglicherweise mehrmals mit Paginierungstokens auf (wie gezeigt), um alle Berechtigungen für eine Datei zu sehen.
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 es nur ein Berechtigungsobjekt für ein Looker Studio-Asset gibt, 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 erhalten.
Aktualisieren
Die Looker Studio- und Drive-APIs haben sehr ähnliche Funktionen zum Aktualisieren von Berechtigungen. 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
})
})
Anwendungsfallspezifische Alternativen finden Sie unter: