Exports vers des tableurs

Une ligne par objectif atteint, dans une feuille de calcul ou une liste qui vous appartient, pour les membres de votre équipe qui n’ouvriront jamais un outil de BI.

1. Quelle solution choisir

Les deux accomplissent la même tâche. La différence tient au compte que votre entreprise utilise déjà.

Google SheetsMicrosoft SharePoint
Une ligne devientune ligne ajoutée à une feuilleun élément dans une liste
À fournirune clé de compte de service et l’identifiant du documentlocataire, identifiant client, secret client, identifiant du site, identifiant de la liste
Colonnesordre fixe, huit colonnescelles de votre liste : nous les consultons d’abord
Configuration nécessairecréer un compte de service, partager la feuille avec luienregistrer une application, lui accorder l’accès à un site

C’est le petit frère du connecteur BigQuery. Ce dernier s’adresse aux équipes de données utilisant SQL ; celui-ci à la personne qui veut trier par valeur et envoyer les dix premiers résultats aux commerciaux.

2. Google Sheets : le partage que tout le monde oublie

Un compte de service est un utilisateur à part entière, avec sa propre adresse e-mail se terminant par .iam.gserviceaccount.com. Créer la clé ne suffit pas : vous devez partager la feuille de calcul avec cette adresse, exactement comme avec un collègue.

Sans ce partage, chaque écriture renvoie une erreur 403. Notre message d’erreur le nomme explicitement, car celui de Google ne le mentionne pas et vous pourriez passer l’après-midi à vérifier la clé.

Collez l’URL complète si c’est plus simple

L’identifiant du document est la partie entre /d/ et /edit. Collez l’adresse entière dans le champ, nous en extrayons cette partie.

Les valeurs sont volontairement écrites en mode brut

Elles ne sont pas interprétées comme une saisie utilisateur. Sinon, Google lirait un identifiant client comme 00123 comme un nombre et supprimerait les zéros initiaux, et une valeur commençant par = deviendrait une formule.

3. SharePoint : nous lisons vos colonnes avant d’écrire

SharePoint refuse un élément qui nomme une colonne absente de la liste, et les noms internes des colonnes sont ceux que vous avez choisis à sa création. Supposer un ensemble fixe serait un pari perdu chez un client sur deux.

Nous récupérons donc les colonnes de la liste une fois par heure et n’écrivons que dans celles qui existent et ne sont pas en lecture seule. Une liste contenant uniquement la colonne par défaut Title reçoit le nom de l’objectif et rien d’autre, au lieu d’échouer pour chaque objectif.

Les colonnes facultatives, si vous les créez : MPSession, MPChannel, MPUser, MPValue, MPCurrency, MPUrl, MPTime.

L’autorisation recommandée par Microsoft n’est pas celle qu’il vous faut

Pour cet appel, la documentation Microsoft indique Sites.ReadWrite.All comme autorisation minimale. Elle donne un accès en écriture à tous les sites de votre locataire, pour une intégration qui remplit une seule liste.

Utilisez plutôt Sites.Selected  : une application disposant de cette autorisation n’a aucun accès par défaut, et un administrateur lui accorde l’écriture sur un seul site précis. Accorder les deux annule la restriction - l’autorisation restreinte ne fonctionne que si l’application n’en possède aucune autre.

4. Ce qui arrive dans la ligne

Horodatage, projet, session, identifiant client, nom de l’objectif, valeur, devise et lien de relecture de l’enregistrement. Dans SharePoint, ces mêmes valeurs sont placées dans les colonnes existantes, au format exigé par leur type : une colonne de lien reçoit un objet lien, une colonne de texte reçoit la même adresse sous forme de texte.

Une cellule vide signifie « aucune valeur convenue », pas zéro

Un objectif sans valeur monétaire laisse la cellule vide. Un zéro entrerait dans une somme de la feuille de calcul pour former un total qui n’a jamais existé.

L’identifiant client est recherché au moment de la livraison

Pas au déclenchement de l’objectif. L’identification a généralement lieu à la connexion, donc souvent après l’objectif. Attendre quelques secondes réduit la charge de notre chaîne de traitement des événements et augmente les chances de trouver un nom.

Les deux données d’authentification sont stockées sous forme chiffrée avec AES-256-GCM, jamais réaffichées et volontairement exclues de la file interne qui transporte la tâche.

Toutes les marques citées appartiennent à leurs propriétaires respectifs. MousePlayer n’entretient aucune relation commerciale avec ces fournisseurs.