Ce document explique comment migrer du code utilisant l'API Drive pour la gestion des autorisations vers l'API Data Studio. Pour les points de terminaison courants de l'API Drive, il indique le code d'API Data Studio correspondant.
Fichiers
Pour les points de terminaison de fichiers de l'API Drive, l'API Data Studio ne dispose que d'un point de terminaison équivalent pour le point de terminaison Files: list.
Liste
| API | Méthode | Point de terminaison |
|---|---|---|
| Drive | POST |
/drive/v3/files |
| Data Studio | GET |
/v1/assets:search |
Tableau comparatif :
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",
})
Data 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}`
}
})
Consultez Rechercher des éléments.
Autorisations
Créer, supprimer et obtenir
| API | Méthode | Point de terminaison |
|---|---|---|
| Drive | POST |
/drive/v3/files/fileId/permissions |
| Drive | DELETE |
/drive/v3/files/fileId/permissions/permissionId |
| Drive | GET |
/drive/v3/files/fileId/permissions/permissionId |
Il n'existe aucun point de terminaison correspondant dans l'API Data Studio pour gérer plusieurs objets Permissions. Il n'existe qu'un seul objet d'autorisations pour un élément Data Studio, et il existe toujours.
- Pour supprimer une personne d'un élément, consultez Révoquer toutes les autorisations
- Pour ajouter une personne à un élément, consultez Ajouter des membres.
- Pour afficher un objet d'autorisations pour un élément, consultez Obtenir les autorisations.
Liste
Il n'existe pas de correspondance directe entre Drive et Data Studio, mais les points de terminaison ont des objectifs similaires. La principale différence est qu'un fichier Drive peut avoir de nombreux objets d'autorisations, tandis que Data Studio n'en a qu'un seul.
| API | Méthode | Point de terminaison |
|---|---|---|
| Drive | GET |
/drive/v3/files/fileId/permissions |
| Data Studio | GET |
/v1/assets/assetId/permissions |
Tableau comparatif :
Drive
Le code suivant liste tous les objets d'autorisations pour l'API Drive. En fonction de votre code, vous pouvez appeler cette méthode plusieurs fois à l'aide de jetons de pagination (comme indiqué) pour vous assurer de voir toutes les autorisations définies pour un fichier.
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);
Data Studio
Comme il n'existe qu'un seul objet d'autorisations pour un élément Data Studio, vous n'avez pas à tenir compte de la pagination.
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}`
}
}
Consultez Obtenir les autorisations.
Mettre à jour
Pour la mise à jour des autorisations, les API Data Studio et Drive ont des fonctionnalités très similaires. La principale différence est que vous ne pouvez pas définir de expirationTime sur une autorisation Data Studio.
| API | Méthode | Point de terminaison |
|---|---|---|
| Drive | PATCH |
/drive/v3/files/fileId/permissions/permissionId |
| Data Studio | PATCH |
/v1/assets/assetId/permissions |
Tableau comparatif :
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)
})
Data 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
})
})
Pour des alternatives spécifiques à un cas d'utilisation, consultez :