Authentification avec les services Google
Si votre script utilise des services Google, tels que Google Drive, Sheets et Mail, vous devez obtenir des informations d’identification. Il existe plusieurs options pour obtenir les informations d’identification :
- Option 1 : facile à suivre et prend moins de temps, mais vous devez la répéter toutes les heures à l’expiration du jeton d’accès.
- Option 2 : un peu plus complexe, mais vous devez le répéter uniquement si le jeton d’actualisation devient non valide.
- Option 3 : elle est également un peu plus compliquée (utilise le script PowerShell fourni), mais vous devez uniquement la répéter si le jeton d’actualisation devient non valide.
Option 1 : Obtention d’un jeton d’accès à partir du terrain de jeu Google OAuth
- Accéder au terrain de jeu Google OAuth
- Dans Entrer vos propres étendues, collez https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/gmail.send
- Cliquez sur Autoriser les API.
- Une fois les API autorisées, cliquez sur Code d’autorisation Exchange pour les jetons
- Copier la valeur du access_token à partir de la réponse
- Dans les solutions telles que La découverte des publicités désapprouvées, qui accèdent aux services Google, définissez le champ de
accessToken
l’objet d’informations d’identification sur le jeton d’accès copié à l’étape 5.
Remarque
Étant donné que le jeton d’accès expire dans 1 heure, vous devez répéter ces étapes toutes les heures.
Option 2 : Obtention d’un jeton d’actualisation à partir du terrain de jeu Google OAuth
- Accéder au tableau de bord de l’API de la console des développeurs Google
- Cliquez sur Créer un projet pour créer un projet ou sélectionnez un projet existant.
- Si vous créez un projet, entrez le nom de votre projet dans Nom du projet. Par exemple, scripts.
- Cliquez sur Créer.
- Dans le tableau de bord, cliquez sur ACTIVER LES API ET LES SERVICES.
- Dans la zone de recherche, entrez feuilles , puis cliquez sur API Google Sheets. Cliquez ensuite sur ACTIVER.
- Revenez au tableau de bord (cliquez sur API & Services) et répétez les étapes 3 et 4 pour l’API Google Drive
- Revenez au tableau de bord (cliquez sur API & Services) et répétez les étapes 3 et 4 pour l’API Gmail
- Dans le tableau de bord, cliquez sur Informations d’identification dans le volet de navigation gauche, puis cliquez sur CONFIGURER L’ÉCRAN DE CONSENTEMENT. Si vous êtes invité à sélectionner un type d’utilisateur, sélectionnez Externe, puis cliquez sur Créer
- Entrez le nom de votre application dans le champ Nom de l’application (par exemple, client Scripts) et entrez votre adresse e-mail dans les champs qui le demandent, puis cliquez sur ENREGISTRER ET CONTINUER.
- Cliquez sur AJOUTER OU SUPPRIMER DES ÉTENDUES, puis sélectionnez .. /auth/drive et .. /auth/gmail.send, puis cliquez sur Mettre à jour
- Cliquez sur ENREGISTRER ET CONTINUER.
- Cliquez sur AJOUTER DES UTILISATEURS, entrez votre adresse de messagerie Google, puis cliquez sur AJOUTER
- Dans le tableau de bord, cliquez sur Informations d’identification dans le volet de navigation gauche, puis cliquez sur Créer des informations d’identification et sélectionnez ID client Oauth
- Sélectionnez Application web Type d’application. Ensuite, entrez un nom tel que Application web scripts dans le champ Nom . Ensuite, ajoutez https://developers.google.com/oauthplayground à URI de redirection autorisés. Enfin, cliquez sur Créer.
- Copiez votre ID client et votre clé secrète client à utiliser aux étapes 18, 19 et 24, puis cliquez sur OK.
- Accéder au terrain de jeu Google OAuth
- Cliquez sur l’icône Configuration OAuth 2.0 (ressemble à un engrenage dans le coin supérieur droit)
- Cochez la case Utiliser vos propres informations d’identification OAuth
- Collez votre ID client dans l’ID client OAuth
- Collez votre clé secrète client dans la clé secrète client OAuth
- Dans Entrer vos propres étendues, collez https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/gmail.send
- Cliquez sur Autoriser les API et suivez les invites pour donner votre consentement.
Remarque
Lorsque vous autorisez des API dans le terrain de jeu, si vous voyez une boîte de dialogue indiquant « Cette application n’est pas vérifiée », cliquez sur Avancé, puis accédez à [nom de l’application] (non sécurisé).
22. Une fois les API autorisées, cliquez sur Code d’autorisation Exchange pour les jetons 23. Copiez le jeton à partir du jeton d’actualisation à utiliser à l’étape 24 24. Dans les solutions telles que La découverte des publicités désapprouvées, qui accèdent aux services Google, définissez les champs , clientSecret
et refreshToken
de clientId
l’objet d’informations d’identification sur les valeurs que vous avez reçues aux étapes 13 et 22.
Option 3 : Obtention d’un jeton d’actualisation à l’aide d’un script PowerShell
- Accéder au tableau de bord de l’API de la console des développeurs Google
- Cliquez sur Créer un projet pour créer un projet ou sélectionnez un projet existant.
- Si vous créez un projet, entrez le nom de votre projet dans Nom du projet. Par exemple, scripts.
- Cliquez sur Créer.
- Dans le tableau de bord, cliquez sur ACTIVER LES API ET LES SERVICES.
- Dans la zone de recherche, entrez feuilles , puis cliquez sur API Google Sheets. Cliquez ensuite sur ACTIVER.
- Revenez au tableau de bord (cliquez sur API & Services) et répétez les étapes 3 et 4 pour l’API Google Drive
- Revenez au tableau de bord (cliquez sur API & Services) et répétez les étapes 3 et 4 pour l’API Gmail
- Dans le tableau de bord, cliquez sur Informations d’identification dans le volet de navigation gauche, puis cliquez sur CONFIGURER L’ÉCRAN DE CONSENTEMENT. Si vous êtes invité à sélectionner un type d’utilisateur, sélectionnez Externe, puis cliquez sur Créer
- Entrez le nom de votre application dans le champ Nom de l’application (par exemple, client Scripts) et entrez votre adresse e-mail dans les champs qui le demandent, puis cliquez sur ENREGISTRER ET CONTINUER.
- Cliquez sur AJOUTER OU SUPPRIMER DES ÉTENDUES, puis sélectionnez .. /auth/drive et .. /auth/gmail.send, puis cliquez sur Mettre à jour
- Cliquez sur ENREGISTRER ET CONTINUER.
- Cliquez sur AJOUTER DES UTILISATEURS, entrez votre adresse de messagerie Google, puis cliquez sur AJOUTER
- Dans le tableau de bord, cliquez sur Informations d’identification dans le volet de navigation gauche, puis cliquez sur Créer des informations d’identification et sélectionnez ID client Oauth
- Sélectionnez Type d’application d’application de bureau , entrez un nom (par exemple, Scripts client creds), puis cliquez sur Créer.
- Copiez votre ID client et votre clé secrète client à utiliser aux étapes 15 et 16, puis cliquez sur OK.
- Créez un script PowerShell pour obtenir le consentement de l’utilisateur et un jeton d’actualisation.
L’obtention d’un jeton d’accès nécessite le consentement de l’utilisateur, sauf si vous avez un jeton d’actualisation. Toutefois, étant donné que Les scripts ne prennent pas en charge les composants de l’interface utilisateur, vous devez obtenir le consentement d’une autre façon. Ce PowerShell fournit une option permettant d’obtenir un consentement et un jeton d’actualisation.
Ouvrez le Bloc-notes ou votre éditeur favori et copiez le script PowerShell dans l’éditeur. Définissez $clientId
et $clientSecret
sur l’ID client et le secret que vous avez reçus lors de l’inscription de votre application (voir l’étape 13).
$clientId = "your-client-id"
$clientSecret = "your-client-secret"
$scopes = "https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/gmail.send"
Start-Process "https://accounts.google.com/o/oauth2/v2/auth?client_id=$clientId&scope=$([string]::Join("%20", $scopes))&access_type=offline&response_type=code&redirect_uri=urn:ietf:wg:oauth:2.0:oob"
$code = Read-Host "Please enter the code"
$response = Invoke-WebRequest https://www.googleapis.com/oauth2/v4/token -ContentType application/x-www-form-urlencoded -Method POST -Body "client_id=$clientid&client_secret=$clientSecret&redirect_uri=urn:ietf:wg:oauth:2.0:oob&code=$code&grant_type=authorization_code"
Write-Output "Refresh token: " ($response.Content | ConvertFrom-Json).refresh_token
Enregistrez le fichier et nommez-le GetTokens.ps1 (vous pouvez le nommer comme vous le souhaitez, mais l’extension doit être .ps1).
Ouvrez maintenant une fenêtre de console. Pour ouvrir une fenêtre de console sur Microsoft Windows, entrez la commande Exécuter Windows suivante (<bouton> Windows+r) :
cmd.exe
À l’invite de commandes, accédez au dossier dans lequel vous avez enregistré GetTokens.ps1 et entrez la commande suivante :
powershell.exe -File .\GetTokens.ps1
Lorsque le script PowerShell s’exécute correctement, il démarre une session de navigateur dans laquelle vous entrez vos informations d’identification Google. Après avoir donné votre consentement, la page web contient le code d’octroi (voir Veuillez copier ce code...).
Copiez le code d’octroi et entrez-le dans la fenêtre de console à l’invite. Le script PowerShell retourne ensuite un jeton d’actualisation. Copiez le jeton d’actualisation. Vous devez traiter le jeton d’actualisation comme vous le feriez avec un mot de passe . si quelqu’un en a la main, il a accès à vos ressources.
- Dans les solutions telles que La découverte des publicités désapprouvées, qui accèdent aux services Google, définissez les champs ,
clientSecret
etrefreshToken
declientId
l’objet d’informations d’identification sur les valeurs que vous avez reçues aux étapes 13 et 14.