Google Sheets - Forms ve JSON İşlemleri

Google servisleri arasındaki ilişkiler için Apps Script aracılığı ile pek çok çözüm üretilebilmekte. Bu ilişkilendirme elbette dışarıdan da beslenebilmekte.

AA

Bu yazı akışında 2 konuyu bir arada örneklendirmeye çalışacağım. İlk akışta, Google Forms aracılığı ile bir form oluşturacak ve oluşturulan bu forma ait kayıtlara JSON formatında ulaşacak, ikinci bölümde ise elimizdeki bir JSON dosyasını Google Sheets'e aktaracağız.

Google Forms ve Sheets İlişkisi

Google Forms, Google Docs, Google Sheets ve Google Slides ile entegre bir şekilde çalışabilen bir anket yönetimi uygulamasıdır. Servis sayesinde iletişim bilgileri, etkinlik katılımı, davetiye, ürün/hizmet sipariş formu, iş başvurusu, sınav, kurs değerlendirme gibi pek çok şablon aracılığı ile kolay bir şekilde kayıt toplamak mümkün.

Google Forms
Google Forms

Herhangi bir şablonu seçip ilk formu oluşturduğunuzda karşınıza düzenleme yapabileceğiniz Sorular ve Yanıtlar sekmesinin yer aldığı form sayfası açılacaktır.

Yanıtlar sekmesini tıkladığınızda, size yanıt hedefi seçme (yeni ya da mevcut bir e-tablo), yanıtları CSV formatında indirme, yazdırma seçenekleri sunulur. Ayrıca, yine hemen yan tarafta yer alan Google Sheets icon'unu tıklayarak da yeni bir e-tablo oluşturulması sağlanabilir.

Sheets ilişkisinin sağlanması ile birlikte forma verilen tüm yanıtlar tablo içerisinde kayıt edilmeye başlanacaktır. Bu sayede ilgili girdilere diğer tablolar, Google Data Studio ve/veya 3. parti uygulamalar aracılığı ile erişebiliriz. Fikir vermesi açısından, Formlar; Mantıksal İşlemler ve E-Posta Yönlendirme başlıklı yazıma göz atabilirsiniz.

Form oluşturma sürecini otomatik bir şekilde gerçekleştirmek isterseniz Google Apps Script Nedir? Ne Amaçla Kullanılır? başlıklı yazımı inceleyebilirsiniz.

Oluşturulan formlar bağlantılar aracılığı ile çevrimiçi erişilebilir hale getirilmekte.

https://docs.google.com/forms/d/<form-id>/prefill

Aynı şekilde oluşturulan formun ilişkilendirildiği Sheets tablosu da bağlantı aracılığı ile kullanıcılar ve/veya tüm ziyaretçiler ile paylaşılabilir.

Google Sheets ve JSON Erişimi

Google Sheets içeriğinin tamamı veya sadece belirli tablo web sayfası veya indirilebilir olarak çeşitli formatlarda (csv, tsv, pdf, xlsx, ods) sunulabilir. Bu işlem için File > Publish to the web adımlarını izlemek yeterli1.

Google Sheets (E-Tablolar)
Google E-Tablolar
Zaman damgası Puan Greenwich'te tarih 12 Haziran 2006 Salı ve saat 23:30 iken 25 derece doğu boylamında bir yerde tarih ve saat nedir? E-mail Göreviniz
22.11.2020 14:17:27 - 12 Haziran 2006 Salı, saat 21:30 test@domain.com Marketing
22.11.2020 14:17:31 - 13 Haziran 2006 Çarşamba, saat 01:10 info@google.com Design
29.12.2020 00:04:40 - 11 Haziran 2006 Salı, saat 20:30 hi@websites.com Software Development

Ancak, küçük bir işlemle tablo içeriğine JSON formatında da ulaşmak mümkün1. Bu işlem için File > Share adımlarını izlemek gerekmekte.

https://docs.google.com/spreadsheets/d/<sheet-id>/edit?usp=sharing

Edinilen bu bağlantıda yer alan benzersiz <sheet-id> değerini aşağıdaki URL içerisinde yer alan ilgili alana eklemeniz yeterli. <tab-number> ise ilgili ilgili sekmeyi ifade etmekte. Ön tanımlı olarak 1 değerini verebilirsiniz1.

https://spreadsheets.google.com/feeds/cells/<sheet-id>/<tab-number>/public/full?alt=json

İLgili bağlantıya Postman ve/veya bir internet tarayıcısı aracılığı ile GET isteği gönderildiğinde aşağıdaki görselde örneklendirilen içeriğe benzer bir cevap dönecektir.

Google Shees - JSON
Google Sheets ve JSON Erişimi

JSON İçeriğini Tablo Haline Getirmek

Peki, elimizde bir JSON içeriği varsa bu içeriği nasıl tablo haline getirebiliriz? Çevrimiçi pek çok araç ile JSON içeriğini farklı formatlara (csv, tsv, xlsx, vb.) dönüştürebilirsiniz. Eğer tek seferde işlem gerçekleşirmek isterseniz Google Apps Script2 aracılığı ile işlemler gerçekleştirebilirsiniz3.

Bu işlem için paulgambill/import_json_appsscript.js veya bradjasper/ImportJSON kullanılabilir.

Zapier - Google Sheets (E-Tablolar)
Zapier ve Google Sheets Entegrasyonu

Google Sheets ve Entegrasyonlar

Google Sheets tablolarını farklı servislere aktarmak veya farklı servislerdeki verileri tablolara dönüştürmek için IFTTT, Zapier, Power Automate ve Tonkean gibi otomasyon servislerinden veya Pipedream gibi geliştirme ortamlarında faryalanmak mümkün.

Verilerin Görselleştirilmesi

Google Sheets tabloları kolay bir şekilde Google Data Studio veri kaynağı olarak tanımlanabilmekte.

GDS - Google Sheets
Google Data Studio Veri Kaynakları
GDS - Google Sheets
Google Data Studio - Google Sheets Veri Kaynağı Tanımı

Bu işlem ile birlike ister doğrudan form aracılığı ile ister JSON içeriğini aktararak verileri görselleştirebilir ve yine JSON formatında verileri dışarı açabilirsiniz.