Questo documento descrive come eseguire la migrazione del codice utilizzando l'API Drive per la gestione delle autorizzazioni all'API Looker Studio. Per gli endpoint API Drive comuni, mostra il codice API Looker Studio corrispondente.
File
Per gli endpoint dei file dell'API Drive, l'API Looker Studio ha solo un endpoint equivalente
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}`
}
})
Vedi Cerca asset.
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 delle autorizzazioni per un asset di Looker Studio ed è sempre presente.
- Per rimuovere una persona da un asset, consulta Revocare tutte le autorizzazioni.
- Per aggiungere qualcuno a un asset, vedi Aggiungere membri.
- Per visualizzare un oggetto delle autorizzazioni per una risorsa, vedi get permissions.
Elenco
Non esiste una corrispondenza 1:1 tra Drive e Looker Studio, ma gli endpoint hanno scopi simili. La differenza principale è che un file di Drive può avere molti oggetti di autorizzazione, mentre 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 seguente codice elenca tutti gli oggetti delle autorizzazioni per l'API Drive. A seconda del codice, puoi chiamare questo metodo più volte utilizzando i token di paginazione (come mostrato) per assicurarti di visualizzare 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 devi tenere conto della paginazione.
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 per 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 casi d'uso, consulta: