Appeler les API Google G Suite (Sheets / Slides, etc.) avec Python

Aperçu

Dans cet article, j'expliquerai la configuration des informations d'authentification et de la confirmation de communication requises lors de l'utilisation de Google Slides / Spread Sheets / Documentation / Gmail avec API en Python. (Temps requis environ 20 minutes)

Veuillez noter que l'architecture de Google Cloud Platform elle-même est constamment mise à jour. Cet article peut donc différer de l'interface graphique et de l'expérience utilisateur réelles. (Dernière mise à jour le 4 novembre 2019)

Procédure (Télécharger les informations d'identification)

Dans cet article, en tant que représentant des API G Suite, nous utiliserons l'API Sheets qui appelle Spread Sheets à titre d'exemple.

  1. Accédez à la page de droite. Sheets API Python Quick Start

  2. Cliquez sur "Connexion" en haut à droite de l'écran et connectez-vous avec votre propre compte Google. Quick Start.png

  3. Cliquez sur "Activer l'API Google Sheets" pour activer l'API. Enable API.png

  4. Confirmez l'accord, cochez le bouton radio «Oui» et appuyez sur «SUIVANT». Le nom du projet est "Quickstart" par défaut, mais il peut être tout ce que vous voulez. Activation.png

  5. Cliquez sur "TÉLÉCHARGER LA CONFIGRATION CLIENT". Download Config.png

  6. credentials.json sera téléchargé.

Ceci termine la configuration des informations d'identification. Si vous souhaitez confirmer la communication de l'authentification, veuillez suivre les étapes ci-dessous.

Procédure (communication d'authentification)

Installez les bibliothèques requises avec pip install.

b. Créez un fichier py appelé quickstart.py dans n'importe quel répertoire et copiez et collez le code suivant.

quickstart.py


from __future__ import print_function
import pickle
import os.path
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request

# If modifying these scopes, delete the file token.pickle.
SCOPES = ['https://www.googleapis.com/auth/spreadsheets.readonly']

# The ID and range of a sample spreadsheet.
SAMPLE_SPREADSHEET_ID = '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms'
SAMPLE_RANGE_NAME = 'Class Data!A2:E'

def main():
    """Shows basic usage of the Sheets API.
    Prints values from a sample spreadsheet.
    """
    creds = None
    # The file token.pickle stores the user's access and refresh tokens, and is
    # created automatically when the authorization flow completes for the first
    # time.
    if os.path.exists('token.pickle'):
        with open('token.pickle', 'rb') as token:
            creds = pickle.load(token)
    # If there are no (valid) credentials available, let the user log in.
    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file(
                'credentials.json', SCOPES)
            creds = flow.run_local_server(port=0)
        # Save the credentials for the next run
        with open('token.pickle', 'wb') as token:
            pickle.dump(creds, token)

    service = build('sheets', 'v4', credentials=creds)

    # Call the Sheets API
    sheet = service.spreadsheets()
    result = sheet.values().get(spreadsheetId=SAMPLE_SPREADSHEET_ID,
                                range=SAMPLE_RANGE_NAME).execute()
    values = result.get('values', [])

    if not values:
        print('No data found.')
    else:
        print('Name, Major:')
        for row in values:
            # Print columns A and E, which correspond to indices 0 and 4.
            print(row)

if __name__ == '__main__':
    main()

c. Placez le fichier credentials.json téléchargé dans le même répertoire que le fichier quickstart.py que vous avez créé.

d. Accédez au répertoire où existe quickstart.py et exécutez-le avec la commande suivante.

python quickstart.py


e. Autorisez l'authentification lorsqu'un écran s'affiche pour autoriser l'accès au navigateur Web.

許可2.png

f. Si le résultat est affiché sur l'écran d'exécution du fichier py, il réussit.

Postscript

08/11/2019: Le titre a été édité

Recommended Posts

Appeler les API Google G Suite (Sheets / Slides, etc.) avec Python
Modifier la feuille de calcul Google avec Python (cas RPA à faible coût avec API Google et Python)
Jouez avec Google Spread Sheet avec Python (OAuth)
Étudiez Python avec Google Colaboratory
Appelez l'API avec python3.
Accédez à Google Drive avec Python
RPA à faible coût avec l'API Google et Python -Publier les données du tableau dans les diapositives: présentation du cas d'utilisation-
Appeler C depuis Python avec DragonFFI
Appelez python de nim avec Nimpy
Comment gérer l'erreur OAuth2 lors de l'utilisation des API Google à partir de Python
J'ai essayé de mettre à jour le calendrier Google avec des rendez-vous CSV à l'aide de Python et de l'API Google
[google-oauth] [python] Bibliothèque cliente des API Google pour Python
Comment mettre à jour Google Sheets à partir de Python
Essayez d'utiliser Python avec Google Cloud Functions
[GCP] Exploitez Google Cloud Storage avec Python
Enregistrer les utilisateurs avec le SDK d'administration Google (python)
Appelez APIGateWay avec APIKey dans les requêtes python
Télécharger des images sur Google Drive avec Python