Ce document explique comment migrer du code à l'aide de l'API Drive pour obtenir l'autorisation à l'API Looker Studio. Pour les points de terminaison courants de l'API Drive, le code de l'API Looker Studio correspondant.
Fichiers
Pour les points de terminaison de fichiers de l'API Drive, l'API Looker Studio n'a qu'un é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 |
Comparaison:
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}`
}
})
Consultez l'article Éléments de la recherche.
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 pas de point de terminaison correspondant dans l'API Looker Studio pour la gestion
plusieurs objets Permissions
. Il n'existe qu'un seul objet d'autorisations pour
Looker Studio, et il existe systématiquement.
- Pour supprimer un utilisateur d'un élément, consultez Révoquer toutes les autorisations.
- Pour ajouter un utilisateur à un composant, consultez l'article Ajouter des membres.
- Pour afficher un objet d'autorisations pour un élément, consultez l'article Obtenir des autorisations.
Liste
Drive et Looker Studio ne correspondent pas exactement, mais les points de terminaison servent des objectifs similaires. La principale différence est qu'un fichier Drive peut avoir plusieurs d'autorisations, et Looker Studio n'en possède qu'un.
API | Méthode | Point de terminaison |
---|---|---|
Drive | GET |
/drive/v3/files/fileId/permissions |
Looker Studio | GET |
/v1/assets/assetId/permissions |
Comparaison:
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 en utilisant la pagination. (comme indiqué) pour vous assurer que vous pouvez 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 pour un composant Looker Studio, doivent 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 les autorisations.
Mettre à jour
En ce qui concerne la modification des autorisations, les API Looker Studio et Drive
de Google Cloud. 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 |
Comparaison:
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 des alternatives spécifiques à chaque cas d'utilisation, consultez les pages suivantes: