Ce document explique comment migrer du code à l'aide de l'API Drive pour gérer les autorisations vers l'API Looker Studio. Pour les points de terminaison courants de l'API Drive, il affiche le code de l'API Looker Studio correspondant.
Fichiers
Pour les points de terminaison des fichiers de l'API Drive, l'API Looker 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 |
Looker Studio | GET |
/v1/assets:search |
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",
})
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}`
}
})
Voir les éléments de recherche
Autorisations
Créez, supprimez et obtenez
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 pas de point de terminaison correspondant dans l'API Looker Studio pour gérer plusieurs objets Permissions
. Il n'existe qu'un seul objet d'autorisations par asset Looker Studio, et il existe toujours.
- Pour supprimer une personne d'un composant, consultez Révoquer toutes les autorisations.
- Pour ajouter une personne à un composant, consultez Ajouter des membres.
- Pour afficher un objet autorisations pour un élément, consultez la section Obtenir des autorisations.
Liste
Il n'y a pas de correspondance 1:1 entre Drive et Looker Studio, mais les points de terminaison répondent à des objectifs similaires. La principale différence est qu'un fichier Drive peut comporter de nombreux objets d'autorisation, tandis que Looker Studio en possède un seul.
API | Méthode | Point de terminaison |
---|---|---|
Drive | GET |
/drive/v3/files/fileId/permissions |
Looker Studio | GET |
/v1/assets/assetId/permissions |
Comparatif:
Drive
Le code suivant répertorie tous les objets d'autorisation pour l'API Drive. Selon 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);
Looker Studio
Étant donné qu'il n'existe qu'un seul objet d'autorisation par composant Looker 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 la section Obtenir des autorisations.
Mettre à jour
Les API Looker Studio et Drive offrent des fonctionnalités très similaires pour mettre à jour les autorisations. La principale différence est que vous ne pouvez pas définir de expirationTime
sur une autorisation Looker Studio.
API | Méthode | Point de terminaison |
---|---|---|
Drive | PATCH |
/drive/v3/files/fileId/permissions/permissionId |
Looker Studio | PATCH |
/v1/assets/assetId/permissions |
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)
})
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
})
})
Pour connaître les alternatives spécifiques à chaque cas d'utilisation, consultez les ressources suivantes: