Unbeaufsichtigter Betrieb von Google Spreadsheets (usw.) in Python

TL; DR

Tabellenvorbereitung

Das ist nichts Besonderes. Erstellen Sie ein geeignetes Blatt in Google Drive und notieren Sie sich die Datei-ID.

Projekt- und Dienstkonto

Natürlich benötigen Sie die Erlaubnis, verschiedene Dokumente zu bedienen. Wenn Sie von einem Programm aus arbeiten, gibt es ungefähr zwei Methoden, um Autorität zu erlangen.

Grob gesagt ist das erstere die Methode, die in interaktiver Software verwendet wird, und das letztere ist die Methode, die in automatisierten Systemen verwendet wird. Dieses Mal werden wir die letztere Methode verwenden. Hier heißt das "maschinenähnliche Konto" ** Dienstkonto **. Mit anderen Worten, Sie müssen zuerst ein Dienstkonto erstellen und ihm die erforderlichen Berechtigungen erteilen. Das Verfahren ist ungefähr wie folgt.

  1. Gehen Sie zur GCP-Konsole (https://console.cloud.google.com) und erstellen Sie ein Projekt.
  2. GCP-Hamburger-Menü oben links> IAM & Administration (https://console.cloud.google.com/iam-admin)> Dienstkonto> Dienstkonto erstellen
  3. Ich denke, Sie müssen nur die erforderlichen Elemente eingeben. Sie haben ein Konto mit dem Namen "name @ project.iam.gserviceaccount.com".
  4. Sobald Sie ein Konto erstellt haben, können Sie Ihren privaten Schlüssel herunterladen. Bitte im JSON-Format herunterladen.
  5. ** Geben Sie diesem Konto die Möglichkeit, die Datei (Tabelle) zu betreiben, die Sie betreiben möchten (= Freigabe). Die Art zu geben ist die gleiche wie die normale Autoritätsoperation für Menschen.
  6. Gehen Sie zu Hamburger Menü> APIs & Services> Dashboard> + APIs & Services aktivieren und aktivieren Sie "Google Sheets API".

Paketinstallation

Vielleicht ist das alles was du brauchst.

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

Code

Der Code zum Schreiben des Tests in Zelle A1 des Blattes. Nur das!

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

PRIVKEY_FILE = "projectname-*********.json"  #Heruntergeladener privater Schlüssel
SPREADSHEET_ID = "********"                  #Blattdatei-ID
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_Sie können einen Ausdruck als Ausdruck mit ENTERED eingeben(Beispiel: "=sum(a1:a100)")
    body={"values": [["test"]]}).execute()

abschließend

Mit Ruby war es genauso einfach.

Recommended Posts

Unbeaufsichtigter Betrieb von Google Spreadsheets (usw.) in Python
[Python] Operation der Aufzählung
Objektäquivalenzbeurteilung in Python
Implementierung der schnellen Sortierung in Python
Überprüfen Sie die Funktionsweise von Python für .NET in jeder Umgebung
Google sucht mit Python nach der Zeichenfolge in der letzten Zeile der Datei
Bildpixel-Manipulation in Python
[Python] Operationsnotiz von Pandas DataFrame
Zeitdelta in Python 2.7-Serie teilen
MySQL-automatische Escape-Funktion von Parametern in Python
Umgang mit JSON-Dateien in Python
Laden Sie Google Drive-Dateien in Python herunter
Implementierung eines Lebensspiels in Python
Beispiele wie Python Getter und Setter
Audio-Wellenform-Anzeige in Python
Das Gesetz der Zahlen in Python
Implementierung der ursprünglichen Sortierung in Python
Reversibles Verwürfeln von Ganzzahlen in Python
Mausbedienung mit Windows-API in Python
[Python] Untersuchen Sie die Eigenschaften der Titel der Top-Websites in den Google-Suchergebnissen
Überprüfen Sie das Verhalten des Zerstörers in Python
Übung, dies in Python zu verwenden (schlecht)
Allgemeine Relativitätstheorie in Python: Einführung
Ausgabebaumstruktur von Dateien in Python
Zeigen Sie eine Liste der Alphabete in Python 3 an
Vergleich japanischer Konvertierungsmodule in Python3
Zusammenfassung verschiedener for-Anweisungen in Python
Holen Sie sich Google Fit API-Daten in Python
Das Ergebnis der Installation von Python auf Anaconda
Notiz der Pixelpositionsoperation für Bilddaten mit Python (numpy, cv2)
Gang of Four (GoF) -Muster in Python
Erstellen und bearbeiten Sie Tabellenkalkulationen in einem beliebigen Ordner auf Google Drive mit Python
Grundlagen zum Ausführen von NoxPlayer in Python
Massenersatz von Zeichenfolgen in Python-Arrays
Projekt Euler # 16 "Summe der Kräfte" in Python
Traffic Safety-Kun: Erkennung von Verkehrszeichen in Python
Zusammenfassung der integrierten Methoden usw. der Python-Liste
Nicht logische Operatorverwendung von oder in Python
Auf der Suche nach dem schnellsten FizzBuzz in Python
Praktisches Beispiel für hexagonale Architektur in Python
Projekt Euler # 17 "Anzahl der Zeichen" in Python
Doppelte Pendelbewegungsgleichung in Python
Entfernen Sie DICOM-Bilder in Python
Status jedes Python-Verarbeitungssystems im Jahr 2020
Projekt Euler # 1 "Vielfaches von 3 und 5" in Python
Geben Sie die Anzahl der CPU-Kerne in Python aus
Zeichnen Sie in Python ein Diagramm einer quadratischen Funktion
Erste Schritte zum Testen von Google CloudVision in Python
Zusammenfassung der Korrespondenz zwischen Ruby- und Python-Array-Operationen
[Python] Sortieren Sie die Liste von pathlib.Path in natürlicher Reihenfolge
Spielen Sie mit Google Spread Sheet mit Python (OAuth)
Automatischer Betrieb von Chrome mit Python + Selen + Pandas
Zusammenfassung zum Importieren von Dateien in Python 3
Projekt Euler # 10 "Summe der Primzahlen" in Python
Holen Sie sich den Aufrufer einer Funktion in Python
Passen Sie die Verteilung jeder Gruppe in Python an
Fügen Sie in Python gekratzten Text in eine Google-Tabelle ein
Führen Sie die Google Analytics-API (Core v3) in Python aus
Zeigen Sie das Ergebnis der Geometrieverarbeitung in Python an