Πώς να συνδέσετε τα Google Sheets με την εφαρμογή σας
Για να συνδέσετε τα Google Sheets με την εφαρμογή σας, ενεργοποιείτε το Google Sheets API σε ένα έργο Google Cloud, δημιουργείτε έναν service account, μοιράζετε το υπολογιστικό φύλλο στη διεύθυνση email του service account, και αποθηκεύετε το κλειδί του ως μυστικό στον server. Ο server σας διαβάζει γραμμές με spreadsheets.values.get και προσθέτει γραμμές με spreadsheets.values.append. Αν οι χρήστες πρέπει να συνδέσουν τα δικά τους φύλλα, χρησιμοποιήστε OAuth, και αν το φύλλο είναι πλήρως δημόσιο, ένα απλό API key αρκεί για ανάγνωση.
Ο οδηγός αυτός καλύπτει ποια μέθοδος ταιριάζει, τις κλήσεις που χρειάζεστε, τα όρια και τις παγίδες, και προτροπές για έναν AI builder εφαρμογών. Οι λεπτομέρειες της Google προέρχονται από την τεκμηρίωση προγραμματιστών της Google, όπως ισχύει τον Σεπτέμβριο 2026.
Γιατί να συνδέσετε καθόλου ένα φύλλο
Συνηθισμένοι λόγοι:
- Διατήρηση της ροής της ομάδας. Το προσωπικό συνεχίζει να επεξεργάζεται έναν τιμοκατάλογο ή ένα πρόγραμμα στα Sheets· η εφαρμογή το εμφανίζει.
- Συλλογή δεδομένων εκεί που ήδη κοιτούν οι άνθρωποι. Νέες εγγραφές, παραγγελίες ή απαντήσεις φορμών καταλήγουν ως γραμμές.
- Αναφορές. Εξαγωγή δεδομένων της εφαρμογής σε φύλλο για όσους ζουν μέσα σε υπολογιστικά φύλλα.
- Ενδιάμεσο βήμα. Ξεκινήστε από το φύλλο και μετά περάστε σε κανονική βάση δεδομένων. Δείτε πώς να μετατρέψετε ένα υπολογιστικό φύλλο σε εφαρμογή.
Επιλέξτε πώς η εφαρμογή σας συνδέεται με την Google
Ο οδηγός διαπιστευτηρίων της Google περιγράφει τρεις τύπους:
| Διαπιστευτήριο | Τι μπορεί να προσπελάσει | Καλύτερο για |
|---|---|---|
| API key | Μόνο δημοσίως διαθέσιμα δεδομένα, όπως αρχεία με «Όποιος έχει τον σύνδεσμο» | Ανάγνωση δημόσιου φύλλου |
| Service account | Δεδομένα που ανήκουν στην εφαρμογή σας, ή συγκεκριμένα αρχεία κοινοποιημένα στο email του service account | Η εφαρμογή σας διαβάζει και γράφει τα δικά σας φύλλα |
| OAuth client ID | Τα αρχεία ενός χρήστη, αφού συναινέσει | Να επιτρέπετε σε κάθε χρήστη να συνδέει τα δικά του φύλλα |
Για τις περισσότερες εφαρμογές, ο service account είναι η σωστή επιλογή: ένα σύνολο διαπιστευτηρίων, δικό σας, με πρόσβαση μόνο στα φύλλα που μοιράζεστε ρητά μαζί του.
Βήμα προς βήμα με service account
- Δημιουργήστε ή επιλέξτε έργο Google Cloud και ενεργοποιήστε το Google Sheets API.
- Δημιουργήστε service account και κλειδί για αυτό. Το κλειδί είναι αρχείο JSON· φερθείτε του όπως σε κωδικό πρόσβασης.
- Μοιραστείτε το υπολογιστικό φύλλο στη διεύθυνση email του service account, ως Viewer για ανάγνωση μόνο ή Editor για εγγραφή. Ο οδηγός της Google λέει ότι γίνεται από την κανονική οθόνη κοινοποίησης.
- Αποθηκεύστε το κλειδί ως μυστικό στον server σας, π.χ.
GOOGLE_SERVICE_ACCOUNT_JSON, και το ID του φύλλου (τη μεγάλη συμβολοσειρά στη διεύθυνση του φύλλου) ωςSHEET_ID. - Καλέστε το API από τον server με τη βιβλιοθήκη πελάτη της Google για τη γλώσσα σας.
- Κρατήστε στην cache τις αναγνώσεις αν πολλοί επισκέπτες βλέπουν τα ίδια δεδομένα, ώστε να μην φτάνετε στο όριο.
Οι κλήσεις που θα χρησιμοποιήσετε
Από τον οδηγό της Google για ανάγνωση και εγγραφή τιμών:
| Μέθοδος | Τι κάνει |
|---|---|
spreadsheets.values.get | Διαβάζει μία περιοχή, όπως Leads!A1:E |
spreadsheets.values.batchGet | Διαβάζει πολλές περιοχές σε ένα αίτημα |
spreadsheets.values.update | Γράφει σε συγκεκριμένη περιοχή |
spreadsheets.values.append | Προσθέτει γραμμές μετά τα υπάρχοντα δεδομένα ενός πίνακα |
Οι περιοχές χρησιμοποιούν σημειογραφία A1. Η Google σημειώνει ότι μια περιοχή χωρίς όνομα φύλλου, όπως A1:B2, εφαρμόζεται στο πρώτο φύλλο· ονομάστε ρητά την καρτέλα για να αποφύγετε εκπλήξεις όταν κάποιος αλλάζει τη σειρά των καρτελών.
RAW έναντι USER_ENTERED
Οι εγγραφές χρειάζονται valueInputOption:
- RAW αποθηκεύει ακριβώς ό,τι στέλνετε, ως κείμενο. Το
=1+2αποθηκεύεται ως το κείμενο=1+2. - USER_ENTERED αντιμετωπίζει την είσοδο όπως αν πληκτρολογούνταν στα Sheets: οι ημερομηνίες γίνονται ημερομηνίες και το
=1+2γίνεται τύπος.
Αν γράφετε κείμενο που πληκτρολόγησαν οι χρήστες στην εφαρμογή σας, χρησιμοποιήστε RAW. Με το USER_ENTERED, κάποιος θα μπορούσε να υποβάλει τύπο που εκτελείται όταν ανοίγει το φύλλο ένας συνάδελφος.
Όρια και σφάλματα
Από τον Σεπτέμβριο 2026, η σελίδα ορίων του Sheets API της Google αναφέρει:
| Όριο | Αιτήματα ανάγνωσης | Αιτήματα εγγραφής |
|---|---|---|
| Ανά λεπτό ανά έργο | 300 | 300 |
| Ανά λεπτό ανά χρήστη ανά έργο | 60 | 60 |
Δεν υπάρχει ημερήσιο όριο, αρκεί να μένετε μέσα στα ανά λεπτό όρια. Όταν τα ξεπεράσετε, επιστρέφεται 429: Too many requests, και η Google συνιστά truncated exponential backoff: περιμένετε περισσότερο μετά από κάθε αποτυχημένη προσπάθεια, με τυχαία καθυστέρηση, μέχρι ένα μέγιστο. Ένα μεμονωμένο αίτημα που διαρκεί πάνω από 180 δευτερόλεπτα λήγει.
Στην πράξη: μη καλείτε το API σε κάθε προβολή σελίδας. Κρατήστε στην cache τα δεδομένα του φύλλου για ένα λεπτό ή περισσότερο, κάντε batch τις αναγνώσεις με batchGet, και κάντε batch τις εγγραφές όπου μπορείτε.
Επιλογές και συμβιβασμοί
| Προσέγγιση | Πλεονεκτήματα | Μειονεκτήματα |
|---|---|---|
| Φύλλο ως ζωντανή πηγή δεδομένων | Το προσωπικό επεξεργάζεται σε οικείο εργαλείο· δεν χρειάζονται οθόνες διαχείρισης | Όρια, χωρίς δικαιώματα ανά γραμμή, εύκολο να χαλάσει με μετονομασία στήλης |
| Συγχρονισμός φύλλου σε βάση δεδομένων | Γρήγορες, αξιόπιστες αναγνώσεις· η εφαρμογή συνεχίζει αν το Sheets είναι εκτός | Χρειάζεστε εργασία συγχρονισμού και κανόνα για το ποια πλευρά υπερισχύει |
| Βάση δεδομένων πρώτα, εξαγωγή σε φύλλο | Η εφαρμογή κατέχει τα δεδομένα· το φύλλο είναι αναφορά | Οι αλλαγές στο φύλλο δεν επιστρέφουν πίσω |
| Εργαλείο αυτοματισμού στη μέση | Χωρίς κώδικα για απλές ροές | Άλλη συνδρομή· δυσκολότερο debugging |
Για οτιδήποτε με πολλούς χρήστες ή ευαίσθητα δεδομένα, μια βάση δεδομένων είναι η καλύτερη πηγή αλήθειας. Δείτε τι είναι μια βάση δεδομένων.
Προτροπές για τον AI builder σας
Ανάγνωση φύλλου:
Δείξε την καρτέλα «Menu» του Google Sheet μας στη σελίδα μενού. Χρησιμοποίησε το Google Sheets API από τον server με service account του οποίου το JSON κλειδί βρίσκεται στο μυστικό GOOGLE_SERVICE_ACCOUNT_JSON, και το ID του φύλλου στο SHEET_ID. Διάβασε την περιοχή Menu!A2:D (όνομα, περιγραφή, τιμή, κατηγορία). Κράτα το αποτέλεσμα στην cache για 5 λεπτά. Αν το API αποτύχει, δείξε την τελευταία αποθηκευμένη έκδοση. Ποτέ μην στέλνεις το κλειδί στον browser.
Εγγραφή γραμμών:
Όταν κάποιος υποβάλλει τη φόρμα επικοινωνίας, αποθήκευσέ την στη βάση δεδομένων μας και πρόσθεσε επίσης μια γραμμή στην καρτέλα «Leads» (ημερομηνία, όνομα, email, μήνυμα) με spreadsheets.values.append και valueInputOption RAW. Αν η Google επιστρέψει 429, δοκίμασε ξανά με exponential backoff· αν συνεχίσει να αποτυγχάνει, κράτα τον lead στη βάση δεδομένων και δοκίμασέ το αργότερα.
Συνηθισμένα λάθη
- Ξεχνάτε να μοιραστείτε το φύλλο με το email του service account. Τότε το API επιστρέφει σφάλμα δικαιωμάτων, παρότι το κλειδί είναι σωστό.
- Κλειδί στο frontend ή στο repository. Το κλειδί JSON δίνει πρόσβαση σε κάθε φύλλο που έχει κοινοποιηθεί σε αυτό. Δείτε πώς να κρατήσετε ασφαλή τα API keys.
- Χρήση USER_ENTERED για είσοδο χρήστη, που επιτρέπει έγχυση τύπων.
- Κλήση του API σε κάθε αίτημα και φτάνετε στο ανά λεπτό όριο με την πρώτη αιχμή κίνησης.
- Εξάρτηση από θέσεις στηλών. Κάποιος εισάγει μια στήλη και η εφαρμογή διαβάζει λάθος δεδομένα. Διαβάστε τη γραμμή κεφαλίδας και αντιστοιχίστε με όνομα, ή κλειδώστε την κεφαλίδα.
- Κοινοποίηση του φύλλου ευρύτερα απ' ό,τι χρειάζεται. Το «Όποιος έχει τον σύνδεσμο» το κάνει δημόσιο.
- Χρήση φύλλου ως βάσης πολλών χρηστών. Ταυτόχρονες εγγραφές και ελλιπή δικαιώματα προκαλούν χαμένα ή διαρρεύσαντα δεδομένα.
Λίστα ελέγχου
- Το Sheets API ενεργοποιημένο· ο service account δημιουργημένος
- Το φύλλο κοινοποιημένο στο email του service account με τον μικρότερο απαιτούμενο ρόλο
- Κλειδί και ID φύλλου αποθηκευμένα ως μυστικά στον server
- Όλες οι κλήσεις γίνονται από τον server
- Ονόματα καρτελών χρησιμοποιούνται στις περιοχές
- RAW για κείμενο που παρέχεται από χρήστες
- Αναγνώσεις στην cache· το 429 αντιμετωπίζεται με backoff
- Η εφαρμογή υποβαθμίζεται ομαλά αν το Sheets είναι μη διαθέσιμο
- Έχετε αποφασίσει ποια πλευρά είναι η πηγή αλήθειας
Google Sheets στο Mythex
Το Mythex έχει δύο διαφορετικούς τρόπους να δουλέψει με τα Sheets. Οι συνδέσεις (connectors) συνδέουν τον λογαριασμό σας Google με το Mythex ώστε ο agent να τον χρησιμοποιεί ενώ χτίζετε, για παράδειγμα για να διαβάσει ένα φύλλο και να φτιάξει πάνω του έναν πίνακα· η τεκμηρίωση λέει ότι το διαπιστευτήριο παραμένει στην υπηρεσία σύνδεσης του Mythex και δεν καταλήγει ποτέ στον κώδικά σας (δείτε Συνδέσεις, και εγκρίνετε κάθε άδεια που ζητά η Google). Για να διαβάζει ή να γράφει η δημοσιευμένη εφαρμογή ένα φύλλο μόνη της, ο αξιόπιστος δρόμος είναι αυτός του παρόντος οδηγού: κλειδί service account αποθηκευμένο ως μυστικό έργου και κλήσεις Sheets API από τον server σας, όπως στο Ενσωμάτωση οποιουδήποτε API. Αν ξεπερνάτε το φύλλο, ζητήστε από τον agent να μεταφέρει τα δεδομένα στη βάση δεδομένων του έργου και να χτίσει πίνακα πάνω τους.
Ερωτήσεις
Πώς μπορεί η εφαρμογή μου να διαβάσει ένα ιδιωτικό Google Sheet;
Ο συνηθισμένος τρόπος είναι ένας service account του Google Cloud: ενεργοποιείτε το Sheets API, δημιουργείτε τον service account και το κλειδί του, και μοιράζετε το υπολογιστικό φύλλο στη διεύθυνση email του service account ως Viewer ή Editor. Ο server σας χρησιμοποιεί το κλειδί, αποθηκευμένο ως μυστικό, για να καλέσει το Sheets API.
Μπορώ να χρησιμοποιήσω Google API key για πρόσβαση σε υπολογιστικό φύλλο;
Μόνο για δημόσια δεδομένα. Ο οδηγός διαπιστευτηρίων της Google λέει ότι τα API keys προορίζονται για ανώνυμη πρόσβαση σε δημοσίως διαθέσιμα δεδομένα, όπως αρχεία κοινοποιημένα σε όποιον έχει τον σύνδεσμο. Τα ιδιωτικά φύλλα χρειάζονται service account ή OAuth.
Ποια είναι τα όρια του Google Sheets API;
Από τον Σεπτέμβριο 2026, η Google αναφέρει 300 αιτήματα ανάγνωσης και 300 εγγραφής ανά λεπτό ανά έργο, και 60 από το καθένα ανά λεπτό ανά χρήστη ανά έργο, χωρίς ημερήσιο όριο. Όταν τα ξεπεράσετε, επιστρέφεται σφάλμα 429· η Google συνιστά truncated exponential backoff.
Πρέπει να χρησιμοποιήσω Google Sheets ως βάση δεδομένων της εφαρμογής μου;
Λειτουργεί για μικρές εφαρμογές με λίγη κίνηση, όπου οι άνθρωποι επεξεργάζονται επίσης τα δεδομένα στο φύλλο. Για πολλούς χρήστες, συχνές εγγραφές, σχέσεις μεταξύ εγγραφών ή δικαιώματα ανά χρήστη, μια πραγματική βάση δεδομένων είναι πιο αξιόπιστη, και μπορείτε ακόμη να εξάγετε σε φύλλο.