Après avoir atteint le point de terminaison de l'API, exportez les données d'une feuille de calcul spécifique au format CSV et enregistrez-les dans le stockage.
Sélectionnez Outils-> <> Éditeur de scripts "dans la barre d'outils de la feuille de calcul pour ouvrir l'éditeur de scripts Google Apps.
Supprimez le code existant et collez le code ci-dessous.
code.gs
function doGet(e) {
var output = ContentService.createTextOutput(createCSV());
output.setMimeType(ContentService.MimeType.TEXT);
return output;
}
function createCSV() {
var sheetName = 'Nom de la feuille';
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName(sheetName);
var values = sheet.getDataRange().getValues();
var csv = values.join('\n');
return csv;
}
Cliquez sur "Publier" -> "Introduire comme application Web ..." dans la barre d'outils.
Il vous sera demandé le nom du projet, alors donnez-lui un nom approprié et cliquez sur "OK".
On vous demandera les paramètres. Réglez «Exécuter l'application comme:» sur «Moi (adresse e-mail)» et «Qui a accès à l'application:» sur «Tout le monde, même anonyme» et cliquez sur «Déployer».
L'écran suivant s'affiche. Si vous accédez à l'URL décrite dans "URL actuelle de l'application Web" et que les données de la feuille de calcul sont affichées au format CSV, l'opération réussit.
Notez cette URL car vous l'utiliserez plus tard.
Ouvrez «Compte de service» dans «IAM et administration» et cliquez sur «Créer un compte de service» pour créer un compte de service.
Ouvrez Storage et cliquez sur Create Bucket pour créer un bucket.
Sur l'écran de la liste des compartiments, cliquez sur "Modifier les autorisations du compartiment" -> "Ajouter un membre" dans le menu situé à droite du compartiment.
Ajoutez le compte de service que vous venez de créer au nouveau membre, sélectionnez le rôle, sélectionnez Cloud Storage → Storage Object Administrator, puis cliquez sur Enregistrer.
Ouvrez Cloud Functions et cliquez sur Créer une fonction.
Cochez "Autoriser les appels non autorisés".
Sélectionnez Python 3.7 pour le runtime. Collez le code suivant dans "MAIN.PY" et "REQUIREMENT.TXT".
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 affichée dans'
# Cloud Storage
bucket = 'Nom du godet'
dir = 'Nom de la direction'
fileName = 'nom csv'
# 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
Réglez "Fonction à exécuter" sur "principal" et cliquez sur "Créer".
Après cela, cliquez sur le nom de la fonction → appuyez sur l'URL écrite dans l'onglet "Déclencheur" et le CSV sera écrit et il réussira.