Fonctionnement sans assistance des feuilles de calcul Google (etc.) en Python

TL; DR

Préparation de la feuille de calcul

Cela n'a rien de spécial. Créez une feuille appropriée sur Google Drive et notez l'ID du fichier.

Compte de projet et de service

Bien sûr, vous avez besoin d'une autorisation pour exploiter divers documents. Lorsque vous travaillez à partir d'un programme, il existe à peu près deux méthodes pour acquérir une autorité.

En gros, la première est la méthode utilisée dans les logiciels interactifs et la seconde est la méthode utilisée dans les systèmes automatisés. Cette fois, nous utiliserons la dernière méthode. Ici, le "compte machine" est appelé ** compte de service **. En d'autres termes, vous devez d'abord créer un compte de service et lui donner les autorisations requises. La procédure est à peu près la suivante.

  1. Accédez à la console GCP (https://console.cloud.google.com) et créez un projet.
  2. Menu hamburger en haut à gauche de GCP> IAM et administration (https://console.cloud.google.com/iam-admin)> Compte de service> Créer un compte de service
  3. Je pense qu'il vous suffit de saisir les éléments requis. Vous aurez un compte appelé nom @ project.iam.gserviceaccount.com.
  4. Une fois que vous avez créé un compte, vous pourrez télécharger votre clé privée. Veuillez télécharger au format JSON.
  5. ** Donnez à ce compte la possibilité d'exploiter le fichier (feuille de calcul) que vous souhaitez exploiter (= partager). La manière de donner est la même que l'opération normale d'autorité pour les humains.
  6. Allez dans Menu Hamburger> API et services> Tableau de bord> + Activer les API et services et activez Google Sheets API.

Installation du package

C'est peut-être tout ce dont vous avez besoin.

$ pip3 install google-api-python-client google-auth-oauthlib oauth2client

code

Le code pour écrire le test dans la cellule A1 de la feuille. Seulement ça!

from googleapiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials

PRIVKEY_FILE = "projectname-*********.json"  #Clé privée téléchargée
SPREADSHEET_ID = "********"                  #ID de fichier de feuille
SCOPE = ["https://www.googleapis.com/auth/spreadsheets"]

creds = ServiceAccountCredentials.from_json_keyfile_name(PRIVKEY_FILE, SCOPE)
service = build("sheets", "v4", credentials=creds)
sheet = service.spreadsheets()

result = sheet.values().update(
    spreadsheetId=SPREADSHEET_ID,
    range="a1",
    valueInputOption="RAW", # USER_Vous pouvez saisir une expression en tant qu'expression avec ENTERED(Exemple: "=sum(a1:a100)")
    body={"values": [["test"]]}).execute()

en conclusion

C'était tout aussi simple avec Ruby.

Recommended Posts

Fonctionnement sans assistance des feuilles de calcul Google (etc.) en Python
[Python] Opération d'énumération
Jugement d'équivalence d'objet en Python
Implémentation du tri rapide en Python
Vérifiez le fonctionnement de Python pour .NET dans chaque environnement
Google recherche la chaîne sur la dernière ligne du fichier en Python
Manipulation des pixels d'image en Python
[Python] Mémo d'opération de pandas DataFrame
Diviser timedelta dans la série Python 2.7
Échappement automatique des paramètres MySQL en python
Gestion des fichiers JSON en Python
Téléchargez des fichiers Google Drive en Python
Implémentation du jeu de vie en Python
Exemples tels que les getters et les setters Python
Affichage de la forme d'onde audio en Python
La loi des nombres en python
Implémentation du tri original en Python
Brouillage réversible d'entiers en Python
Fonctionnement de la souris à l'aide de l'API Windows en Python
[Python] Explorez les caractéristiques des titres des meilleurs sites dans les résultats de recherche Google
Vérifiez le comportement du destroyer en Python
Pratique d'utilisation de ceci en Python (mauvais)
Théorie générale de la relativité en Python: Introduction
Arborescence de sortie des fichiers en Python
Afficher une liste d'alphabets en Python 3
Comparaison des modules de conversion japonais en Python3
Résumé de diverses instructions for en Python
Obtenez les données de l'API Google Fit en Python
Le résultat de l'installation de python sur Anaconda
Mémo de l'opération de position de pixel pour les données d'image avec Python (numpy, cv2)
Modèles Gang of Four (GoF) en Python
Créez et modifiez des feuilles de calcul dans n'importe quel dossier sur Google Drive avec python
Principes de base pour exécuter NoxPlayer en Python
Remplacement en bloc des chaînes dans les tableaux Python
Projet Euler # 16 "Somme des pouvoirs" en Python
Traffic Safety-kun: Reconnaissance des panneaux de signalisation en Python
Résumé des méthodes intégrées, etc. de la liste Python
Utilisation d'opérateurs non logiques de ou en python
À la recherche du FizzBuzz le plus rapide en Python
Exemple pratique d'architecture hexagonale en Python
Projet Euler # 17 "Nombre de caractères" en Python
Equation de mouvement à double pendule en python
Débarrassez-vous des images DICOM en Python
Statut de chaque système de traitement Python en 2020
Projet Euler # 1 "Multiple de 3 et 5" en Python
Sortie du nombre de cœurs de processeur en Python
Dessiner un graphique d'une fonction quadratique en Python
Premiers pas pour essayer Google CloudVision en Python
Résumé de la correspondance entre les opérations de tableau ruby et python
[Python] Trier la liste de pathlib.Path dans l'ordre naturel
Jouez avec Google Spread Sheet avec Python (OAuth)
Fonctionnement automatique de Chrome avec Python + Sélénium + pandas
Résumé de la façon d'importer des fichiers dans Python 3
Projet Euler # 10 "somme des nombres premiers" en Python
Récupérer l'appelant d'une fonction en Python
Faites correspondre la distribution de chaque groupe en Python
Mettez du texte récupéré en Python dans une feuille de calcul Google
Exécutez l'API Google Analytics (core v3) en python
Afficher le résultat du traitement de la géométrie en Python