En este documento, se describe cómo migrar código con la API de Drive para obtener permisos con la API de Looker Studio. Para los extremos de la API de Drive comunes, muestra el código de la API de Looker Studio correspondiente.
Archivos
Para los extremos de los archivos de la API de Drive, la API de Looker Studio solo tiene un equivalente
para el extremo Files: list
.
Lista
API | Método | Extremo |
---|---|---|
Drive | POST |
/drive/v3/files |
Looker Studio | GET |
/v1/assets:search |
Comparación:
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}`
}
})
Consulta los recursos de búsqueda.
Permisos
Crea, borra y obtén
API | Método | Extremo |
---|---|---|
Drive | POST |
/drive/v3/files/fileId/permissions |
Drive | DELETE |
/drive/v3/files/fileId/permissions/permissionId |
Drive | GET |
/drive/v3/files/fileId/permissions/permissionId |
No hay extremos correspondientes en la API de Looker Studio para administrar
varios objetos Permissions
Solo hay un objeto de permisos para un
recurso de Looker Studio y siempre existe.
- Para quitar a alguien de un recurso, consulta Cómo revocar todos los permisos.
- Para agregar a alguien a un activo, consulta cómo agregar miembros.
- Para ver un objeto de permisos para un recurso, consulta cómo obtener permisos.
Lista
No hay una coincidencia 1 a 1 entre Drive y Looker Studio, pero los extremos tienen objetivos similares. La principal diferencia es que un archivo de Drive puede tener muchos los objetos de permisos, y Looker Studio tiene exactamente uno.
API | Método | Extremo |
---|---|---|
Drive | GET |
/drive/v3/files/fileId/permissions |
Looker Studio | GET |
/v1/assets/assetId/permissions |
Comparación:
Drive
El siguiente código enumera todos los objetos de permisos para la API de Drive. Según el código que tengas, puedes llamar a este método varias veces con paginación tokens (como se muestra) para asegurarte de que puedas ver todos los permisos que se configuraron para un archivo.
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
Como solo hay un objeto de permiso para un recurso de Looker Studio, no es necesario no debes tener en cuenta la paginación.
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}`
}
}
Consulta cómo obtener permisos.
Actualizar
Para actualizar los permisos, las APIs de Looker Studio y Drive tienen una configuración muy parecida
funcionalidad. La principal diferencia es que no puedes establecer un expirationTime
en un
permiso de Looker Studio.
API | Método | Extremo |
---|---|---|
Drive | PATCH |
/drive/v3/files/fileId/permissions/permissionId |
Looker Studio | PATCH |
/v1/assets/assetId/permissions |
Comparación:
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
})
})
Para conocer alternativas específicas para casos de uso, consulta lo siguiente: