Διατηρήστε τις μετρήσεις NowMetrix στο Google Sheets
Χρησιμοποιήστε το Google Apps Script για την ασφαλή ανάκτηση των ημερήσιων δεδομένων του NowMetrix, την προγραμματισμένη ανανέωση του υπολογιστικού φύλλου και την αξιοποίηση των δεδομένων για υπολογισμούς, κοινοποίηση ή αναφορές στο Looker Studio.
Πώς λειτουργεί η σύνδεση
Το υπολογιστικό φύλλο λειτουργεί ως μια μικρή γέφυρα δεδομένων που ελέγχετε εσείς:
NowMetrix REST API → Google Apps Script → Google Sheet → optional Looker Studio report
Τα δεδομένα δεν εισάγονται στο Google Analytics. Το Apps Script υποβάλλει αίτημα στο επιλεγμένο endpoint του NowMetrix με το κλειδί API σας και εγγράφει τις γραμμές που επιστρέφονται στο υπολογιστικό φύλλο. Στη συνέχεια, το Looker Studio μπορεί να χρησιμοποιήσει αυτό το φύλλο εργασίας ως ξεχωριστή πηγή δεδομένων.
1. Προετοιμασία του κλειδιού API και του υπολογιστικού φύλλου
- Στο NowMetrix, ανοίξτε τις Ρυθμίσεις → API και δημιουργήστε ένα ξεχωριστό κλειδί με την ετικέτα Google Sheets.
- Αντιγράψτε ολόκληρο το κλειδί όταν εμφανιστεί. Δεν θα είναι δυνατό να εμφανιστεί ξανά.
- Σημειώστε το tracker ID για τον ιστότοπο του οποίου τα δεδομένα θέλετε να εξαγάγετε.
- Δημιουργήστε ένα νέο Google Sheet, για παράδειγμα με το όνομα NowMetrix Export.
- Ορίστε τη ζώνη ώρας του υπολογιστικού φύλλου στην ίδια ζώνη ώρας με το tracker του NowMetrix.
Το παρακάτω παράδειγμα εξάγει τις τελευταίες 30 ημερήσιες γραμμές από το /v1/overview.
Κάθε γραμμή περιέχει την ημερομηνία, το tracker, τη ζώνη ώρας του tracker, τις Προβολές σελίδας και
τις επισκέψεις.
2. Αποθήκευση του κλειδιού API στις Script Properties
Στο Google Sheet, επιλέξτε Επεκτάσεις → Apps Script. Στη συνέχεια:
- Ανοίξτε τις Ρυθμίσεις έργου χρησιμοποιώντας το εικονίδιο με το γρανάζι.
- Στην ενότητα Ιδιότητες σεναρίου, επιλέξτε Προσθήκη ιδιότητας σεναρίου.
- Προσθέστε τις ακόλουθες δύο ιδιότητες:
| Ιδιότητα | Τιμή |
|---|---|
NOWMETRIX_API_KEY |
Το κλειδί σας, που ξεκινά με nm_ |
NOWMETRIX_TRACKER_ID |
Το tracker ID προς εξαγωγή |
3. Προσθήκη του script εξαγωγής
Αντικαταστήστε τα περιεχόμενα του Code.gs με αυτό το script. Ελέγχει τη ρύθμιση,
περιορίζει την πρόσβαση στο τρέχον έγγραφο, διαχειρίζεται τα σφάλματα του API και αντικαθιστά το
φύλλο εργασίας μόνο μετά από επιτυχή απόκριση.
/**
* @OnlyCurrentDoc
*/
const NOWMETRIX_BASE_URL = 'https://api.nowmetrix.com';
function fetchNowMetrix(path) {
const properties = PropertiesService.getScriptProperties();
const apiKey = properties.getProperty('NOWMETRIX_API_KEY');
const trackerId = properties.getProperty('NOWMETRIX_TRACKER_ID');
if (!apiKey || !trackerId) {
throw new Error('NOWMETRIX_API_KEY or NOWMETRIX_TRACKER_ID is missing.');
}
const separator = path.includes('?') ? '&' : '?';
const url = NOWMETRIX_BASE_URL
+ path
+ separator
+ 'site=' + encodeURIComponent(trackerId);
const response = UrlFetchApp.fetch(url, {
method: 'get',
headers: {
Authorization: 'Bearer ' + apiKey,
Accept: 'application/json'
},
muteHttpExceptions: true
});
const status = response.getResponseCode();
const body = response.getContentText();
if (status < 200 || status >= 300) {
throw new Error('NowMetrix API returned HTTP ' + status + ': ' + body);
}
return JSON.parse(body);
}
function toSheetDate(value) {
const parts = value.split('-').map(Number);
return new Date(parts[0], parts[1] - 1, parts[2]);
}
function syncNowMetrixDaily() {
const result = fetchNowMetrix('/v1/overview?days=30');
const rows = result.daily.map(day => [
toSheetDate(day.date),
result.site,
result.timezone,
day.pageviews,
day.visits
]);
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const sheet = spreadsheet.getSheetByName('Daily')
|| spreadsheet.insertSheet('Daily');
const values = [
['date', 'tracker', 'timezone', 'pageviews', 'visits'],
...rows
];
sheet.clearContents();
sheet.getRange(1, 1, values.length, values[0].length).setValues(values);
sheet.setFrozenRows(1);
sheet.getRange(1, 1, 1, values[0].length).setFontWeight('bold');
if (rows.length > 0) {
sheet.getRange(2, 1, rows.length, 1).setNumberFormat('yyyy-mm-dd');
sheet.getRange(2, 4, rows.length, 2).setNumberFormat('#,##0');
}
sheet.autoResizeColumns(1, values[0].length);
}
Μην αντικαταστήσετε το NOWMETRIX_API_KEY με το πραγματικό κλειδί στον πηγαίο κώδικα.
Το script το διαβάζει από τις Script Properties κατά την εκτέλεση. Διατηρήστε το
@OnlyCurrentDoc στην αρχή: ενημερώνει την Google ότι πρέπει να ζητήσει πρόσβαση σε αυτό
το υπολογιστικό φύλλο και όχι σε όλα τα υπολογιστικά φύλλα του λογαριασμού σας.
4. Αποθήκευση και εκτέλεση του script μία φορά
- Ονομάστε το έργο NowMetrix Google Sheets Export στην επάνω αριστερή γωνία.
- Αποθηκεύστε το έργο Apps Script με το εικονίδιο δισκέτας ή τη συντόμευση πληκτρολογίου.
- Επιλέξτε τη
syncNowMetrixDailyστο μενού συναρτήσεων της γραμμής εργαλείων του editor. - Επιλέξτε Run δίπλα στο μενού συναρτήσεων.
5. Εξουσιοδότηση του δικού σας έργου Apps Script
Η Google ζητά άδεια την πρώτη φορά που εκτελείται το script. Επιλέξτε Έλεγχος δικαιωμάτων και επιλέξτε τον λογαριασμό Google που είναι κάτοχος του υπολογιστικού φύλλου.
Μια προειδοποίηση όπως Η Google δεν έχει επαληθεύσει αυτή την εφαρμογή είναι αναμενόμενη για ένα ιδιωτικό, αυτοδημιούργητο έργο Apps Script. Το email προγραμματιστή που εμφανίζει η Google πρέπει να είναι του δικού σας λογαριασμού Google. Το έργο δεν είναι εφαρμογή Google του NowMetrix και δεν παρέχει στο NowMetrix πρόσβαση στον λογαριασμό σας Google.
- Επιβεβαιώστε ότι δημιουργήσατε το έργο Apps Script και ότι το email προγραμματιστή είναι δικό σας.
- Επιλέξτε Για προχωρημένους στην οθόνη προειδοποίησης.
- Συνεχίστε στο έργο σας με το όνομα που επιλέξατε. Η Google μπορεί να χαρακτηρίσει αυτόν τον σύνδεσμο ως μη ασφαλή, επειδή το ιδιωτικό έργο δεν έχει επαληθευτεί.
- Ελέγξτε τα δικαιώματα που ζητούνται και επιλέξτε Allow ή Συνέχεια.
| Δικαίωμα | Γιατί απαιτείται |
|---|---|
| Πρόσβαση στο τρέχον υπολογιστικό φύλλο | Δημιουργία ή ενημέρωση του φύλλου εργασίας Daily σε αυτό το Google Sheet. |
| Σύνδεση με εξωτερική υπηρεσία | Αποστολή αιτήματος HTTPS στο https://api.nowmetrix.com. |
@OnlyCurrentDoc βρίσκεται στην αρχή του
Code.gs, αποθηκεύστε και εκτελέστε ξανά τη συνάρτηση.
Αν έχετε ήδη εγκρίνει ευρύτερη πρόσβαση σε υπολογιστικά φύλλα, καταργήστε το έργο από τον Λογαριασμό Google → Ασφάλεια → Συνδέσεις με εφαρμογές και υπηρεσίες τρίτων και εκτελέστε ξανά το αποθηκευμένο script, ώστε να ζητηθούν περιορισμένα δικαιώματα.
Η Google τεκμηριώνει αυτή τη ροή εξουσιοδότησης και τον περιορισμό @OnlyCurrentDoc στον
οδηγό εξουσιοδότησης του Apps Script.
6. Επαλήθευση της πρώτης εξαγωγής
Μετά την εξουσιοδότηση, το Apps Script συνεχίζει την εκτέλεση. Περιμένετε να εμφανιστεί Η εκτέλεση ολοκληρώθηκε στο αρχείο καταγραφής εκτέλεσης, επιστρέψτε στο υπολογιστικό φύλλο και ανοίξτε το νέο φύλλο εργασίας Daily. Το αποτέλεσμα θα πρέπει να μοιάζει με το εξής:
| date | tracker | timezone | pageviews | visits |
|---|---|---|---|---|
| 2026-08-22 | TRACKER_ID | Europe/Zurich | 81,240 | 53,210 |
| 2026-08-23 | TRACKER_ID | Europe/Zurich | 77,480 | 50,195 |
7. Προγραμματισμός αυτόματων ενημερώσεων
Στο Apps Script, ανοίξτε τα Ενεργοποιήσεις με το εικονίδιο ρολογιού και προσθέστε μια ενεργοποίηση:
| Συνάρτηση | syncNowMetrixDaily |
|---|---|
| Ανάπτυξη | Head |
| Πηγή συμβάντος | Με βάση τον χρόνο |
| Συχνότητα | Κάθε ώρα ή λιγότερο συχνά για ημερήσια αναφορά |
Η ενεργοποίηση εκτελείται στον λογαριασμό Google που τη δημιούργησε. Διατηρήστε αυτόν τον λογαριασμό ενεργό και ελέγχετε τις ειδοποιήσεις αποτυχίας του Apps Script. Αποφύγετε τα αχρείαστα συχνά αιτήματα: το δημόσιο API του NowMetrix επιτρέπει επί του παρόντος 20 αιτήματα ανά λεπτό ανά tracker, κοινά για όλα τα κλειδιά και τους χρήστες.
Το παράδειγμα αντικαθιστά τον κυλιόμενο πίνακα 30 ημερών σε κάθε επιτυχή εκτέλεση. Έτσι αποφεύγονται οι διπλότυπες ημερομηνίες και το φύλλο παραμένει μικρό.
8. Χρήση του φύλλου εργασίας στο Looker Studio
- Δημιουργήστε ή ανοίξτε μια αναφορά στο Looker Studio.
- Επιλέξτε Προσθήκη δεδομένων → Google Sheets.
- Επιλέξτε το υπολογιστικό φύλλο και το φύλλο εργασίας Daily.
- Χρησιμοποιήστε την πρώτη γραμμή ως κεφαλίδες και συνδέστε την πηγή δεδομένων.
- Επιβεβαιώστε ότι το
dateείναι ημερομηνία και ότι ταpageviewsκαιvisitsείναι αριθμητικές μετρήσεις.
Μπορείτε πλέον να δημιουργήσετε γραφήματα χρονοσειρών, κάρτες μετρήσεων, πίνακες και υπολογιζόμενα
πεδία, όπως το pageviews / visits. Το Looker Studio το διαβάζει ως ξεχωριστή πηγή
δεδομένων· δεν μετατρέπει τις τιμές του NowMetrix σε συμβάντα Google Analytics.
Η Google τεκμηριώνει τις υπόλοιπες ρυθμίσεις αναφοράς στον οδηγό σύνδεσης του Google Sheets.
Εξαγωγή άλλων δεδομένων του NowMetrix
| Περίπτωση χρήσης | Παράδειγμα endpoint | Προτεινόμενη συμπεριφορά φύλλου |
|---|---|---|
| Ημερήσιες Προβολές σελίδας και επισκέψεις | /v1/overview?days=30 |
Αντικατάσταση ή ενημέρωση γραμμών ανά tracker και ημερομηνία |
| Κορυφαίες σελίδες της χθεσινής ημέρας | /v1/recap?preset=yesterday&limit=100 |
Προσθήκη μία φορά την ημέρα ή αντικατάσταση του τρέχοντος αποτελέσματος |
| Τρέχον στιγμιότυπο σε πραγματικό χρόνο | /v1/realtime |
Προσθήκη της χρονικής σήμανσης της απόκρισης κατά τη δημιουργία τάσης |
| Τρέχουσες πηγές επισκεψιμότητας | /v1/sources |
Προσθήκη της χρονικής σήμανσης της απόκρισης ή αντικατάσταση του τρέχοντος στιγμιότυπου |
preset=last30 περιέχει τα σύνολα για ολόκληρο το κυλιόμενο διάστημα.
Μην προσθέτετε αυτές τις τιμές κάθε μέρα. Για αθροιστικό ιστορικό άρθρων, εξάγετε μια ολοκληρωμένη
περίοδο, όπως το yesterday, και αποθηκεύετε το διάστημα σε κάθε γραμμή.
Λίστα ελέγχου ασφάλειας και κοινοποίησης
- Χρησιμοποιήστε ξεχωριστό κλειδί API του NowMetrix για την εξαγωγή και παραχωρήστε πρόσβαση μόνο στα απαιτούμενα tracker.
- Αποθηκεύστε το κλειδί μόνο στις Script Properties ή σε άλλη αποθήκη μυστικών στην πλευρά του διακομιστή.
- Διατηρήστε το
@OnlyCurrentDocστο script, ώστε η πρόσβαση στο Google Sheets να περιορίζεται σε αυτό το έγγραφο. - Μην συμπεριλαμβάνετε ποτέ το κλειδί σε κελιά, τύπους, παραμέτρους αναφορών, URL, στιγμιότυπα οθόνης ή αρχεία καταγραφής.
- Περιορίστε την πρόσβαση επεξεργασίας στο έργο Apps Script. Οι συντάκτες πρέπει να αντιμετωπίζονται ως έμπιστοι χρήστες.
- Εξουσιοδοτείτε το script μόνο όταν η Google εμφανίζει τον δικό σας λογαριασμό ως προγραμματιστή.
- Χρησιμοποιήστε ξεχωριστό υπολογιστικό φύλλο που ανήκει στον πελάτη για κάθε λογαριασμό NowMetrix.
- Ελέγξτε τις ρυθμίσεις κοινοποίησης τόσο του Google Sheet όσο και του Looker Studio πριν δημοσιεύσετε μια αναφορά.
- Ανακαλέστε αμέσως το κλειδί API αν υπάρχει πιθανότητα να έχουν παραβιαστεί το φύλλο, το script ή ο λογαριασμός Google.
Αντιμετώπιση προβλημάτων
| Πρόβλημα | Τι να ελέγξετε |
|---|---|
HTTP 401 |
Το κλειδί API λείπει, είναι ελλιπές, μη έγκυρο ή έχει ανακληθεί. |
HTTP 403 |
Το κλειδί API δεν έχει πρόσβαση στο ρυθμισμένο tracker. |
HTTP 429 |
Έχει ξεπεραστεί το όριο αιτημάτων του API για το tracker. Μειώστε τη συχνότητα της ενεργοποίησης. |
HTTP 503 |
Το backend αναλυτικών στοιχείων δεν είναι προσωρινά διαθέσιμο. Διατηρήστε τα υπάρχοντα δεδομένα του φύλλου και δοκιμάστε ξανά αργότερα. |
| Δεν υπάρχει φύλλο εργασίας Daily | Εκτελέστε χειροκίνητα τη syncNowMetrixDaily και ελέγξτε τις λεπτομέρειες εκτέλεσης του Apps Script. |
| Η Google αναφέρει ότι η εφαρμογή δεν έχει επαληθευτεί | Αυτό είναι αναμενόμενο για το ιδιωτικό script σας. Συνεχίστε μόνο αν δημιουργήσατε το έργο και η Google εμφανίζει το δικό σας email προγραμματιστή. |
| Η Google ζητά πρόσβαση σε όλα τα υπολογιστικά φύλλα | Ακυρώστε, προσθέστε το @OnlyCurrentDoc στην αρχή του Code.gs, αποθηκεύστε και εκτελέστε ξανά τη συνάρτηση. |
| Οι ημερομηνίες φαίνονται λανθασμένες | Συγχρονίστε τη ζώνη ώρας του Google Sheet με τη ζώνη ώρας του tracker που επιστρέφει το API. |