Questo documento descrive come eseguire la migrazione del codice all'API Looker Studio utilizzando l'API Drive per la gestione delle autorizzazioni. Per gli endpoint comuni dell'API Drive, viene mostrato il codice dell'API Looker Studio corrispondente.
Files
Per gli endpoint dei file dell'API Drive, l'API Looker Studio ha un endpoint equivalente solo per l'endpoint Files: list
.
Elenco
API | Metodo | Endpoint |
---|---|---|
Drive | POST |
/drive/v3/files |
Looker Studio | GET |
/v1/assets:search |
Confronto:
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 gli asset di ricerca.
Autorizzazioni
Crea, elimina e ottieni
API | Metodo | Endpoint |
---|---|---|
Drive | POST |
/drive/v3/files/fileId/permissions |
Drive | DELETE |
/drive/v3/files/fileId/permissions/permissionId |
Drive | GET |
/drive/v3/files/fileId/permissions/permissionId |
Non esistono endpoint corrispondenti nell'API Looker Studio per la gestione
di più oggetti Permissions
. Esiste un solo oggetto autorizzazioni per un asset
di Looker Studio ed esiste sempre.
- Per rimuovere una persona da un asset, consulta Revocare tutte le autorizzazioni.
- Per aggiungere qualcuno a una risorsa, consulta Aggiungere membri
- Per visualizzare un oggetto delle autorizzazioni per un asset, consulta Ottenere le autorizzazioni
Elenco
Non esiste una corrispondenza 1 a 1 tra Drive e Looker Studio, ma gli endpoint servono obiettivi simili. La differenza principale è che un file di Drive può avere molti oggetti di autorizzazione e Looker Studio ne ha esattamente uno.
API | Metodo | Endpoint |
---|---|---|
Drive | GET |
/drive/v3/files/fileId/permissions |
Looker Studio | GET |
/v1/assets/assetId/permissions |
Confronto:
Drive
Il codice seguente elenca tutti gli oggetti di autorizzazione per l'API Drive. A seconda del codice, puoi chiamare questo metodo più volte utilizzando i token di impaginazione (come mostrato) per assicurarti di vedere tutte le autorizzazioni impostate per un file.
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
Poiché esiste un solo oggetto di autorizzazione per un asset di Looker Studio, non è necessario tenere conto dell'impaginazione.
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}`
}
}
Vedi Ottenere le autorizzazioni.
Aggiorna
Per l'aggiornamento delle autorizzazioni, le API Looker Studio e Drive hanno funzionalità molto simili. La differenza principale è che non puoi impostare un expirationTime
in un'autorizzazione di Looker Studio.
API | Metodo | Endpoint |
---|---|---|
Drive | PATCH |
/drive/v3/files/fileId/permissions/permissionId |
Looker Studio | PATCH |
/v1/assets/assetId/permissions |
Confronto:
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
})
})
Per alternative specifiche per i diversi casi d'uso, vedi: