🔰 Lien exemple: https://creator.celestory.io/project/8x5_uqKpY

✨ Lien export: https://api.celestory.io/play/ZTfV7kb5ch

Dans un 💨 Import Données, le catalogue de données est défini par une liste de pages de Menus vous permettant de naviguer entre vos différents produits ou services.



L'actualisation est définie par le fait que les valeurs de cellules d'un Google Sheet (excel Google) sont directement importées en temps réel par l'App par une connectivité continue.

🔹 Pour en savoir plus sur la création de Menu:

http://help.celestory.io/fr/articles/4204688-creer-un-menu-et-ses-pages

🔸 Pour découvrir comment créer cette connectivité continue, allez sur le sous-graphe Bloc JS Import Cell dans le menu latéral gauche des modules.

⬛ Bloc Lancer JS

Ce bloc permet de lancer un code écrit en Javascript. Il suffit de copier/coller le code disponible ci dessous:

*

// spreadsheet

const apiKey = celestoryPoints.get('apiKey', '');

const spreadsheetId = celestoryPoints.get('id', '');

const spreadsheetCell = celestoryPoints.get('cell', '');

const spreadsheetSheet = celestoryPoints.get('sheet', '');

// load google apis to access google drive

await loadExternalScript('gapi', 'https://apis.google.com/js/api.js

try {

const cell = await new Promise((resolve, reject) => {

window.gapi.load('client:auth2', async () => {

try {

// Authenticate to google apis

await gapi.client.init({

apiKey,

discoveryDocs: '[https://sheets.googleapis.com/$discovery/rest?version=v4](https://sheets.googleapis.com/%24discovery/rest?version=v4)'

});

// Get spreadsheet range (single cell)

const spreadsheetRange = await gapi.client.sheets.spreadsheets.values.get({

spreadsheetId,

range: ${spreadsheetSheet}!${spreadsheetCell}, // Get the given cell in the given sheet

});

// Get results

if (spreadsheetRange && spreadsheetRange.result && spreadsheetRange.result.values && spreadsheetRange.result.values.length === 1) {

// Spreadsheet & cell was found

resolve(spreadsheetRange.result.values0][0

} else {

// Spreadsheet or cell was not found

reject(new Error(Cannot read cell ${spreadsheetCell} in sheet ${spreadsheetName} in spreadsheet ${spreadsheetId}));

}

} catch (e) {

// An error occured

reject(e);

}

});

});

celestoryPoints.set('value', cell);

} catch (e) {

celestoryPoints.set('error', e.toString());

}

*

ou simplement de copier/coller un bloc Lancer Javascript appelé Import cellule pour importer une autre donnée d'une autre cellule.



Vous pouvez importer cette donnée de n'importe quelle feuille de n'importe quel spreadsheet de n'importe quel compte Google.



Vous n'avez qu'à remplir dans la fenêtre d'édition du bloc JS les zones suivantes:

â—¾ apiKey:

C'est le compte Google qui est le propriétaire de la Spreadsheet qui doit cliquer sur ce lien

Laissez Quickstart par défaut, puis cliquez sur Next:



Enfin copiez votre API Key et collez là dans le bloc.



Puis vous donnez la clé apiKey correspondante.

â—¾ id:

Il s'agit de l'id de la Spreadsheet. Dans cet exemple, son url est indiqué sur le lien 2 ci-dessous:

L'id du lien 2 est donc:

1rd5oiw7rVUNVS2dKSV8sy_jemSyBjMR3eTEIzngYo6o

â—¾ cell:

Il s'agit du nom de la cellule que vous voulez

connecter pour pouvoir la modifier par la suite et

l'importer automatiquement dans l'app.

Ex: B2

Il faudra créer autant de blocs JS "Import cellule" que de cellules à connecter.

â—¾ sheet:

Il s'agit du feuillet (l'onglet en bas de la

Spreadsheet) sur lequel se trouve la cellule à

importer. Attention à bien écrire correctement son nom.

Le ⬛ Bloc JS se compose également de deux sorties et de deux points de valeur:

🔹 D'abord la sortie par défaut prise si le code fonctionne.

🔹 Si le code ne fonctionne pas, le flux est renvoyé vers catch.

🔹 Enfin le point erreur va indiquer la nature de l'erreur en anglais.

C'est pour cela que ce point de valeur est directement relié à l'inconnue du bloc d'Alerte qui suit, afin de donner un détail immédiat en cas d'aiguillage sur la sortie "catch".

🔹 Enfin, bien sur le point value est la valeur extraite de la cellule ciblée par le bloc JS.

C'est pour cela qu'elle est connectée à la value entrante d'un bloc 🟦 Assignation, afin d'associer cette valeur à celle d'une variable dont l'application se souviendra.
Cet article a-t-il répondu à vos questions ?
Annuler
Merci !