Este documento descreve como migrar código usando a API Drive para obter permissões para a API Looker Studio. Para endpoints comuns da API Drive, ele mostra o código correspondente da API Looker Studio.
Arquivos
Para os endpoints de arquivos da API Drive, a API Looker Studio tem apenas um equivalente
endpoint de API para o endpoint Files: list
.
Lista
API | Método | Endpoint |
---|---|---|
Drive | POST |
/drive/v3/files |
Looker Studio | GET |
/v1/assets:search |
Comparação:
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}`
}
})
Veja os recursos de pesquisa.
Permissões
Create, delete e get
API | Método | Endpoint |
---|---|---|
Drive | POST |
/drive/v3/files/fileId/permissions |
Drive | DELETE |
/drive/v3/files/fileId/permissions/permissionId |
Drive | GET |
/drive/v3/files/fileId/permissions/permissionId |
Não há endpoints correspondentes na API Looker Studio para gerenciar
vários objetos Permissions
. Há apenas um objeto de permissões para um
do Looker Studio, que sempre existe.
- Para saber como remover um usuário de um recurso, consulte o artigo Revogar todas as permissões.
- Para adicionar um usuário a um recurso, confira Adicionar membros.
- Para ver um objeto de permissões de um recurso, consulte as permissões de get.
Lista
Não há uma correspondência direta entre o Drive e o Looker Studio, mas os endpoints e atendem a objetivos semelhantes. A principal diferença é que um arquivo do Drive pode ter vários objetos de permissão, e o Looker Studio tem exatamente um.
API | Método | Endpoint |
---|---|---|
Drive | GET |
/drive/v3/files/fileId/permissions |
Looker Studio | GET |
/v1/assets/assetId/permissions |
Comparação:
Drive
Com o código abaixo, é possível visualizar todos os objetos de permissões da API Drive. Dependendo do código, você pode chamar esse método várias vezes usando tokens de paginação, conforme mostramos a seguir, para garantir que todas as permissões definidas para um arquivo sejam exibidas.
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 há apenas um objeto de permissão para um recurso do Looker Studio, não é necessário ter que considerar a paginação.
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}`
}
}
Consulte as permissões get.
Atualizar
Para atualizar as permissões, as APIs Looker Studio e Drive têm recursos muito semelhantes
funcionalidade de armazenamento. A principal diferença é que não é possível definir um expirationTime
em um
Permissão do Looker Studio.
API | Método | Endpoint |
---|---|---|
Drive | PATCH |
/drive/v3/files/fileId/permissions/permissionId |
Looker Studio | PATCH |
/v1/assets/assetId/permissions |
Comparação:
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 ver outros casos de uso, consulte: