Mengambil Data Google Sheets dengan Bot Telegram (+ Python)

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:
gspreadoauth2client
Untuk menginstall keduanya, cukup jalankan perintah berikut ini:
1 | pip install gspread oauth2client |
Jika menggunakan python3, maka:
1 | 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # 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.pydan file JSON di folder yang sama - Ganti
dicoffeeans-7ab6a61b1a54.jsonsesuai dengan nama file JSON anda - Ganti juga baris kode berikut dengan nama file Google Sheets dan nama sheet1 anda masing-masing :
| Back | Update | Share |
|---|---|---|
| << | 22:15:10 on 05 juni 2021 |