Exportieren Sie nach Erreichen des API-Endpunkts die Daten einer bestimmten Tabelle in CSV und speichern Sie sie im Speicher.
Wählen Sie in der Tabellenkalkulationssymbolleiste Extras-> <> Skripteditor "aus, um den Google Apps-Skripteditor zu öffnen.
Löschen Sie den vorhandenen Code und fügen Sie den folgenden Code ein.
Code.gs
function doGet(e) {
var output = ContentService.createTextOutput(createCSV());
output.setMimeType(ContentService.MimeType.TEXT);
return output;
}
function createCSV() {
var sheetName = 'Blattname';
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName(sheetName);
var values = sheet.getDataRange().getValues();
var csv = values.join('\n');
return csv;
}
Klicken Sie in der Symbolleiste auf "Veröffentlichen" -> "Als Webanwendung einführen ...".
Sie werden nach dem Projektnamen gefragt. Geben Sie ihm einen geeigneten Namen und klicken Sie auf "OK".
Sie werden nach den Einstellungen gefragt. Setzen Sie "App ausführen als:" auf "Ich (E-Mail-Adresse)" und "Wer hat Zugriff auf die App:" auf "Jeder, auch anonym" und klicken Sie auf "Bereitstellen".
Der folgende Bildschirm wird angezeigt. Wenn Sie auf die unter "Aktuelle Web-App-URL" beschriebene URL zugreifen und die Tabellenkalkulationsdaten im CSV-Format angezeigt werden, ist dies erfolgreich.
Notieren Sie sich diese URL, da Sie sie später verwenden werden.
Öffnen Sie "Dienstkonto" unter "IAM und Administration" und klicken Sie auf "Dienstkonto erstellen", um ein Dienstkonto zu erstellen.
Öffnen Sie den Speicher und klicken Sie auf Bucket erstellen, um einen Bucket zu erstellen.
Klicken Sie im Bildschirm mit der Bucket-Liste im Menü rechts neben dem Bucket auf "Bucket-Berechtigungen bearbeiten" -> "Mitglied hinzufügen".
Fügen Sie das soeben erstellte Dienstkonto dem neuen Mitglied hinzu, wählen Sie die Rolle aus, wählen Sie Cloud-Speicher → Speicherobjektadministrator aus und klicken Sie auf Speichern.
Öffnen Sie die Cloud-Funktionen und klicken Sie auf Funktion erstellen.
Aktivieren Sie "Nicht autorisierte Anrufe zulassen".
Wählen Sie zur Laufzeit Python 3.7 aus. Fügen Sie den folgenden Code in "MAIN.PY" und "REQUIREMENT.TXT" ein.
main.py
import sys
import csv
import codecs
import requests
import os
import tempfile
from google.cloud import storage
def main(request):
# Spreadsheet Web application URL
url = '1.URL angezeigt in'
# Cloud Storage
bucket = 'Eimername'
dir = 'Richtungsname'
fileName = 'CSV-Name'
# get data
r = requests.get(url)
assert r.status_code == requests.codes.ok, "can't read spreadsheet" # pylint: disable=no-member
# make file
_, temp_local_filename = tempfile.mkstemp()
with codecs.open(temp_local_filename, 'w', 'utf_8') as f:
f.write(r.text)
# upload file
client = storage.Client()
bucket = client.get_bucket(bucket)
blob = bucket.blob(f'{dir}/{fileName}')
blob.upload_from_filename(filename=temp_local_filename)
return "success"
REQUIREMENT>TXT
astroid==2.4.0
autopep8==1.5.2
cachetools==4.1.0
certifi==2020.4.5.1
chardet==3.0.4
colorama==0.4.3
google-api-core==1.17.0
google-auth==1.14.1
google-cloud==0.34.0
google-cloud-core==1.3.0
google-cloud-storage==1.28.0
google-resumable-media==0.5.0
googleapis-common-protos==1.51.0
idna==2.9
isort==4.3.21
lazy-object-proxy==1.4.3
mccabe==0.6.1
protobuf==3.11.3
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycodestyle==2.5.0
pylint==2.5.0
pytz==2020.1
requests==2.23.0
rsa==4.0
six==1.14.0
toml==0.10.0
urllib3==1.25.9
wrapt==1.12.1
Setzen Sie "Auszuführende Funktion" auf "Haupt" und klicken Sie auf "Erstellen".
Klicken Sie danach auf den Funktionsnamen → klicken Sie auf die auf der Registerkarte "Trigger" angegebene URL. Die CSV wird ausgeschrieben und ist erfolgreich.