L'API Google Sheets vous permet de créer, modifier et supprimer des plages nommées ou protégées. Les exemples de cette page illustrent comment effectuer certaines opérations Sheets courantes avec l'API Sheets.
Ces exemples sont présentés sous la forme de requêtes HTTP pour être neutres en termes de langue. Pour découvrir comment implémenter une mise à jour par lot dans différents langages à l'aide des bibliothèques clientes de l'API Google, consultez Mettre à jour des feuilles de calcul.
Dans ces exemples, les espaces réservés SPREADSHEET_ID
et SHEET_ID
indiquent où vous devez fournir ces ID. Vous trouverez l'identifiant de la feuille de calcul dans l'URL de la feuille de calcul. Vous pouvez obtenir l'ID de la feuille de calcul à l'aide de la méthode spreadsheets.get
. Les plages sont spécifiées à l'aide de la notation A1. Par exemple, la plage Feuille1!A1:D5.
De plus, les espaces réservés NAMED_RANGE_ID
et PROTECTED_RANGE_ID
fournissent les ID des plages nommées et protégées. Les éléments namedRangeId
et protectedRangeId
sont utilisés pour envoyer des requêtes de mise à jour ou de suppression des plages associées. L'ID est renvoyé dans la réponse à une requête de l'API Sheets qui crée une plage nommée ou protégée. Vous pouvez obtenir les ID des plages existantes avec la méthode spreadsheets.get
, dans le corps de réponse Spreadsheet
.
Ajouter des plages nommées ou protégées
L'exemple de code spreadsheets.batchUpdate
suivant montre comment utiliser deux objets de requête. La première utilise AddNamedRangeRequest
pour attribuer le nom "Counts" à la plage A1:E3. La seconde utilise AddProtectedRangeRequest
pour associer une protection de niveau "Avertissement" à la plage A4:E4. Ce niveau de protection permet toujours de modifier les cellules de la plage, mais affiche un avertissement avant d'effectuer la modification.
Ces requêtes renvoient un AddNamedRangeResponse
et un AddProtectedRangeResponse
, contenant les ID et les propriétés des plages.
Le protocole de requête est présenté ci-dessous.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "addNamedRange": { "namedRange": { "name": "Counts", "range": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 3, "startColumnIndex": 0, "endColumnIndex": 5, }, } } }, { "addProtectedRange": { "protectedRange": { "range": { "sheetId":SHEET_ID
, "startRowIndex": 3, "endRowIndex": 4, "startColumnIndex": 0, "endColumnIndex": 5, }, "description": "Protecting total row", "warningOnly": true } } } ] }
Supprimer des plages nommées ou protégées
L'exemple de code spreadsheets.batchUpdate
suivant montre comment utiliser deux objets de requête. La première utilise DeleteNamedRangeRequest
pour supprimer une plage nommée existante, en utilisant le NAMED_RANGE_ID
d'un appel d'API précédent. La seconde utilise DeleteProtectedRangeRequest
pour supprimer une protection de plage existante, en utilisant le PROTECTED_RANGE_ID
d'un appel d'API précédent.
Le protocole de requête est présenté ci-dessous.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "deleteNamedRange": { "namedRangeId": "NAMED_RANGE_ID
", } }, { "deleteProtectedRange": { "protectedRangeId":PROTECTED_RANGE_ID
, } } ] }
Modifier des plages nommées ou protégées
L'exemple de code spreadsheets.batchUpdate
suivant montre comment utiliser deux objets de requête. La première utilise UpdateNamedRangeRequest
pour renommer une plage nommée existante en "InitialCounts", en utilisant NAMED_RANGE_ID
à partir d'un appel d'API précédent. La seconde utilise UpdateProtectedRangeRequest
pour mettre à jour une plage protégée existante afin qu'elle protège désormais la plage portant le même nom. La méthode Editors
permet uniquement aux utilisateurs listés de modifier ces cellules. Cette requête utilise NAMED_RANGE_ID
et PROTECTED_RANGE_ID
des appels d'API précédents.
Le protocole de requête est présenté ci-dessous.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "updateNamedRange": { "namedRange": { "namedRangeId":NAMED_RANGE_ID
, "name": "InitialCounts", }, "fields": "name", } }, { "updateProtectedRange": { "protectedRange": { "protectedRangeId":PROTECTED_RANGE_ID
, "namedRangeId":NAMED_RANGE_ID
, "warningOnly": false, "editors": { "users": [ "charlie@example.com", "sasha@example.com" ] } }, "fields": "namedRangeId,warningOnly,editors" } } ] }