Chapter IV : Mengambil data Google Sheets dengan Python & Bot Telegram.
Karena banyaknya pesan masuk yang menanyakan mengenai bot Telegram untuk mengambil data dari Google Sheets, baik melalui feedback ataupun data Search Console blog dicoffeean, pada postingan kali ini saya akan sharing sedikit mengenai tema tersebut.
Membuat Project Baru di Google Console
Saya yakin semuanya pasti sudah punya Akun Google?
Hal pertama yang harus dilakukan agar bisa mengakses data Google Sheets dari program eksternal yaitu dengan membuat project baru di alamat berikut ini:
https://console.developers.google.com
Jika anda baru pertama kali mengakses Google Cloud, maka tampilannya akan seperti gambar berikut ini.
Silahkan centang persyaratan layanan dan klik tulisan “Setuju dan Lanjutkan”.
Langkah selanjutnya yaitu membuat project baru.
Lalu isikan nama project. Sebagai contoh disini saya membuat project dengan nama: dicoffeeans.
Selanjutnya, klik pada form search dan ketikan kata kunci “Google Sheets API” dan “Google Drive API”.
Aktifkan kedua API nya seperti gambar di bawah ini.
Setelah mengaktifkan API, kita memerlukan kredensial untuk dapat mengakses layanan API dari Google.
Klik tombol: “Buat Kredensial”
Kita akan disuguhkan dengan beberapa pertanyaan dari Google, sebagai contoh berikut ini pilihan yang saya gunakan pada postingan ini.
Klik tombol “Kredensial apa yang saya butuhkan?”
Langkah selanjutnya adalah mengisi: nama akun layanan, peran dan jenis kunci. Silahkan isi sesuai keinginan anda, untuk jenis kunci saya memilih JSON.
Agar kita mempunyai akses penuh, pada pilihan peran silahkan pilih:
Project > Editor
Klik lanjutkan, jika berhasil anda akan mendapatkan kunci berupa file JSON. Silahkan dibuka dengan teks editor kesayangan anda.
Berikut, contoh kunci JSON milik saya.
Abaikan parameter yang lain, untuk keperluan ini yang kita perlukan hanyalah client_email
.
Silahkan catat / copy / simpan email tersebut.
Sampai tahap ini persiapan untuk mengakses API Google sudah selesai.
Memberikan Akses Google Sheets ke Client Email Project
Pilih Google Sheets yang akan kita akses, sebagai contoh berikut ini file Google Sheets saya dengan nama: Dicoffeean_bots.
Perhatikan nama file dan nama Sheet seperti tanda merah pada gambar di atas. Karena nama-nama tersebut akan kita masukkan pada python code
nantinya.
Sekarang klik Bagikan lalu masukkan client_email
yang tadi kita simpan. Jangan lupa, beri akses penuh untuk mengedit.
Instalasi Modul Python yang Diperlukan
Modul yang diperlukan dalam artikel ini antara lain:
gspread
oauth2client
Untuk menginstall keduanya, cukup jalankan perintah berikut ini:
pip install gspread oauth2client
Jika menggunakan python3
, maka:
pip3 install gspread oauth2client
Note: disini kebetulan saya menggunakan python3.
Membuat Kode Python untuk Akses Google Sheets
Buat file baru dengan nama spreadsheet.py
misalnya, lalu salin kode berikut ini.
# Python code untuk akses Google Spreadsheets # By dicoffeean # -------------------------------------------- import gspread from oauth2client.service_account import ServiceAccountCredentials def readMyGsheet(): alamatURL = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive'] kredensial = ServiceAccountCredentials.from_json_keyfile_name('dicoffeeans-7ab6a61b1a54.json', alamatURL) client = gspread.authorize(kredensial) # Membaca Sheet1 pada Google Spreadsheets untuk file Dicoffeean_bots: sheet = client.open('Dicoffeean_bots').sheet1 dicoffeean_data = sheet.get_all_records() print(dicoffeean_data) readMyGsheet()
Penjelasan :
- Simpan file
spreadsheet.py
dan file JSON di folder yang sama - Ganti
dicoffeeans-7ab6a61b1a54.json
sesuai dengan nama file JSON anda - Ganti juga baris kode berikut dengan nama file Google Sheets dan nama sheet1 anda masing-masing :
client.open('Dicoffeean_bots').sheet1
Sekarang, saatnya kita tes python script
diatas apakah berfungsi dengan baik?
Karena saya menggunakan python3, jadi perintahnya adalah:
python3 spreadsheet.py
Output-nya seperti gambar berikut ini:
Untuk mempermanis output yang diinginkan, kita bisa menggunakan modul analisis data pada python, salah satunya yaitu: pandas: “Python Data Analysis Library”.
Silahkan di explore sendiri ya …
Mengambil data Google Sheets dengan Bot Telegram
Step terakhir yaitu menggunakan bot telegram untuk mengambil data dari Google Spreadsheets dengan kode python yang telah kita buat.
Bot Telegram disini hanyalah sebagai perantara, yang bekerja sebenarnya adalah python script
yang kita buat di atas. Yakni python script
untuk mengakses dan membaca Google Spreadsheets.
Baiklah, agar sedikit rapi kita akan menambahkan modul pandas pada kode python tadi. Jadi install pandas dengan perintah berikut ini.
pip3 install pandas
Sekarang kita impor modul pandas dan edit kode python diatas menjadi seperti ini.
# Python code untuk akses Google Spreadsheets # By dicoffeean # -------------------------------------------- import gspread import pandas as pd from oauth2client.service_account import ServiceAccountCredentials def readMyGsheet(): alamatURL = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive'] kredensial = ServiceAccountCredentials.from_json_keyfile_name('dicoffeeans-7ab6a61b1a54.json', alamatURL) client = gspread.authorize(kredensial) # Membaca Sheet1 pada Google Spreadsheets untuk file Dicoffeean_bots: sheet = client.open('Dicoffeean_bots').sheet1 dicoffeean_data = sheet.get_all_records() # Konvert menjadi DataFrame df = pd.DataFrame(dicoffeean_data) # Seleksi columns label print(df[['ID', 'Name', 'Jobs']]) readMyGsheet()
… Output-nya seperti dibawah ini, terlihat lebih rapi tentunya.
Yang terakhir dari saya, berikut contoh penerapannya dengan Bot Telegram (source code yang ini nyusul ya!).
Demikianlah artikel singkat mengenai: cara mengambil data Google Spreadsheets dengan Python & Bot Telegram.
Selamat mencoba!
Join Channel Telegram untuk mendapatkan pembaruan artikel lebih cepat :
dicoffeean.com Telegram Channels
Artikel terkait:
- #1: Dasar-Dasar Membuat Bot Telegram
- #2: Membuat Bot Telegram untuk Auto Posting Laporan
- #3: Membuat Notifikasi Terjadwal dengan Telegram bot
Buat Bot Telegram hanya 50 ribu? Klik disini : Jasa Pembuatan Bot Telegram
Yang terakhir dari saya, berikut contoh penerapannya dengan Bot Telegram (source code yang ini nyusul ya!).
Source codenya sdh ada artikelnya mas?
Untuk saat ini belum ada om, nanti semoga bisa saya share di artikel selanjutnya
gimana mas, sudah ada source codenya belum ya.. terima kasih..
Halo kak, aku mulai bingung dari yg phyton2 itu:(
boleh tolong dijelasin nggak? ini harus install software apa dulu gitu gak?
terima kasih sebelumnyaa
kalau menggunakan google script gimana ya kak, mohon petunjuknya
Min untuk bagian kolom tulisan nya di tengahankan apa bisa ya min, saya cari cara nya kok ngk ketemu mohon solusi nya
min untuk source codenya kira kira kapan ya di publish?, atau ada refrensi kah untuk source kode penerapan dengan Bot Telegram
Kak ini untuk ambil data text saja? kalau ingin menampilkan gambar dari id dan link img yang ada di googlesheet bisa?
Bisa disesuaikan sesuai kebutuhan Kak