Bonjour tout le monde !
J'aurai besoin de votre aide sur un script et une formule pour récupérer des données publiques sur Twitter : Nombre de tweets, followers et following.
Pour info je travail en communication et webmarketing et j'aimerai utiliser ça pour faire un reporting sur l'évolution du nombre d'abonnés de notre compte Twitter, chose impossible à avoir sur Twitter Analytics malheureusement.
Pour le script :
Il ne fonctionne pas, je reçois une erreur ligne 13 et si je la supprime celle d'en dessous ont le même problème : TypeError: Impossible d'appeler la méthode "getRange" de undefined. (ligne 14, fichier "Code")
Le code :
Pour la formule :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 // Créer un menu pour actualiser le reporting à la main si besoin function onOpen() { var ui = SpreadsheetApp.getUi(); ui.createMenu('Actualisation reporting') .addItem('Save Data - Twitter','saveDataTwitter') .addItem('Save Data - Facebook','saveDataFacebook') .addToUi(); } // Sauvegarder les données Twitter dans une nouvelle ligne en bas du même Sheet function saveDataTwitter() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[1]; // ************** ICI le'erreur ************* var handle = sheet.getRange('Twitter!A2').getValue(); var url = sheet.getRange('Twitter!B2').getValue(); var date = sheet.getRange('Twitter!C2').getValue(); var tweets = sheet.getRange('Twitter!D2').getValue(); var following_count = sheet.getRange('Twitter!E2').getValue(); var follower_count = sheet.getRange('Twitter!F2').getValue(); sheet.appendRow([handle,url,date,tweets,following_count,follower_count]); }
=ARRAY_CONSTRAIN(SI(ESTVIDE(A2);"";importHTML("http://m.twitter.com/"&A2;"table";3));1;3) .
Donc elle fonctionne, seulement c'est sensé me créer un tableau comme dans l'article or moi il me met le titre (nb de tweet, followers etc) directement avec les données. Ca encore c'est pas très grave il me suffira d'enlever le "followers" et "following" dans les cases à l'aide de CTRL + F.
Photo :
Par contre il parle aussi de la fonction NOW() qui moi fonctionne avec MAINTENANT(). Je ne sais pas où la mettre dans sa formule ? Du coup je l'ai mis dans une colonne à gauche de followers. Ca fonctionne ça met la date du jour.
En revanche, la formule et le script doivent normalement enregistrer les données chaque jour et créer une nouvelle ligne en dessous de l'actuel le lendemain avec les nouvelles données. Or moi, ça me donne toujours la même ligne mais qui s'actualise.
Exemple :
Normalement ca devrait être par exemple : 707 tweets, 2000 followers puis le lendemain ça crée une ligne en dessous et ca met 708 tweets, 2001 followers etc (si j'ai posté un tweet et gagné un follower).
Or là j'ai toujours la même ligne, mais qui s'actualise. Du coup les données des jours précédent de sont pas enregistré.
Voilà, j'ai essayé d'être le plus clair possible mais c'est pas facile. Si vous avez des questions n'hésitez pas et je remercie d'avance ceux qui m'aideront, vraiment !
Voici le lien du Google Sheet qui sera surement plus parlant (j'ai remplacé le nom de l'entreprise par la Fevad) : https://docs.google.com/spreadsheets...it?usp=sharing
Partager