Come sincronizzare Odoo con i dati di un documento spreadsheet

Ciao,

in questo tutorial spiegheremo come poter leggere dati da fogli di Google SpreadSheet.

Il connettore utilizzato è stato gspread, una libreria python che ci permette di collegarci e quindi di leggere e scrivere in maniera semplice da fogli condivisi.

La documentazione ufficiale che vi spiega in maniera esaustiva i passi per connettersi a spreadsheet la trovate al link https://github.com/burnash/gspread, inoltre vi saranno presentati tutti i metodi e di conseguenza tutte le operazioni che la libreria vi permette di fare per manipolare dati contenuti in un foglio di calcolo.

L’utilizzo di gspread richiede credenziali Oauth, le quali possono essere generate usando la libreria oauth2client fornita da Google.

Per modificare spreadsheets tramite la libreria semplicemente si dovranno generare delle credenziali esportate in un file json, accessibile dalla applicazione che si connette.

I passi per generare il file delle credenziali che ci occorrerà sono elencati al seguente link http://gspread.readthedocs.io/en/latest/oauth2.html

Nell’esempio ho creato un nuovo addon ed un modello molto semplice composto da un campo url per immettere appunto l’url del foglio su cui leggere ed un campo name che legge la cella della prima riga e della prima colonna

img.1Odoo • A picture with a caption

Ho definito un button “Read Data”  a cui ho associato il seguente metodo:

img.2Odoo • A picture with a caption

Il metodo esegue dapprima I passi necessari a gspread per connettersi al foglio di calcolo con l’url inserito, dopodichè salva il valore letto all’interno del campo name che rappresenta la stringa di output per il nostro semplice modello.

img.3Odoo • A picture with a caption
Add a caption to enhance the meaning of this image.
img.4Odoo • A picture with a caption

Come avete avuto modo di verificare il valore è stato correttamente letto (immagini 3 e 4)

Questo mio semplice esempio intende porre le basi per modelli più complessi che possano portare ad idee implementative le quali, tramite la sincronizzazione Spreadsheet - ODOO, siano in grado di far condividere velocemente dati.

Alla prossima,

Letizia