1. Google Apps Komut Dosyası tanıtımı
Bu codelab'de, Google geliştirici teknolojilerine erişimi olan kod yazmanın en kolay yollarından birini tanıtacağız. Bunların tümü, yaygın bir web geliştirme dili olan JavaScript'in uygulanmasıyla yapılır. Google Apps Komut Dosyası'nı kullanarak, bir Google E-Tablosu'ndaki hücreden sokak adresini çıkarmak için kod yazar, adrese dayalı bir Google Haritası oluşturur ve Gmail üzerinden haritayı ek olarak gönderirsiniz. Peki, canlı yayının en önemli avantajı nedir? Yalnızca dört satırlık bir koddan oluşur.
Neler öğreneceksiniz?
- Google Apps Komut Dosyası'nı Google E-Tablolar, Google Haritalar ve Gmail gibi çeşitli Google hizmetleriyle kullanma.
- Apps Komut Dosyası için tarayıcı içi düzenleyiciyi kullanarak kod geliştirin.
Gerekenler
- İnternete erişimi olan bir web tarayıcısı
- Google Hesabı (Google Workspace hesapları için yönetici onayı gerekebilir)
- Google E-Tablolar ile ilgili temel düzeyde bilgi
- E-Tablolar'ı okuma özelliği A1 notasyonu
2. Anket
Bu codelab'i/eğitimi nasıl kullanacaksınız?
Google Workspace geliştirici araçları ve API'ler mi?
3. Genel Bakış
Bu codelab'in ne hakkında olduğunu öğrendiğinize göre tam olarak ne yapacaksınız?
- JavaScript'e dayalı Apps Komut Dosyası hakkında daha fazla bilgi edinin.
- Google E-Tablolar e-tablosu oluşturun.
- E-tablonun sol üstteki hücresine (A1) bir açık adres girin.
- Herhangi bir doküman için Apps Komut Dosyası düzenleyicisini nasıl açacağınızı öğrenin.
- Apps Komut Dosyası kodunu düzenleyin, kaydedin ve çalıştırın.
- Sonucu görüntülemek için Gmail'i kullanın.
Haydi başlayalım.
Google Apps Komut Dosyası nedir?
Google Apps Komut Dosyası, Google Workspace ile entegre olan komut dosyaları ve küçük uygulamalar oluşturmayı hızlı ve kolay hale getiren bir geliştirme platformudur. Apps Komut Dosyası size şu olanakları tanır:
- JavaScript ile kod yazın ve Gmail, Takvim, Drive gibi Google Workspace uygulamaları için yerleşik kitaplıklara erişin.
- Hiçbir şey yüklemeniz gerekmez. Doğrudan tarayıcınızda bir kod düzenleyici sağlarız ve komut dosyalarınız Google'ın sunucularında çalışır.
- Platform, bu işlemleri sizin yerinize halleddiği için güvenlik ve veri erişimi izinleri gibi karmaşık konularla ilgili endişelenmenize gerek yoktur.
Chat bot'lardan web uygulamalarına kadar çeşitli uygulamalar oluşturmak için Apps Komut Dosyası kullanılabilir. Google E-Tablolar e-tablolarının işlevlerinin genişletilmesi, en popüler kullanımlardan biridir. Bu codelab'in geri kalanında, e-tablodan veri almak ve bu verileri diğer Google hizmetlerine bağlamak için Apps Komut Dosyası'nı nasıl kullanacağınızı öğreneceksiniz.
4. Bir Google E-Tablosu oluşturun ve açık adres girin
Yeni bir Google E-Tablosu'nda aşağıdaki talimatları uygulayarak geçerli bir açık adres girin:
- Bu kolaylık bağlantısını (sheets.google.com/create) kullanarak bir Google E-Tablosu oluşturun. Alternatif olarak, Google Drive'ınıza (drive.google.com) gidip Yeni > Google E-Tablolar > Boş e-tablo
- Boş e-tabloda, sol üst köşedeki ilk hücreye (A1) gidin. Bu değer, A sütununda ve 1. satırda olur. Bu konu hakkında daha fazla bilgi edinmeniz gerekirse A1 notasyonunun açıklamasına göz atabilirsiniz.
- Hücreye geçerli bir açık adres girin. Açık adresi, posta kodu veya şehir ve eyalet/il kombinasyonunu kullanarak dünya üzerinde tam konumu olan bir adres seçin. Aşağıda, New York'taki bir adres örneği verilmiştir:
Sayfada yapmanız gereken tek şey bu. Şimdi düzenleyiciyi açıp kod yazalım.
5. Apps Komut Dosyası kodunu düzenleyin
Artık yeni bir Google E-Tablonuz olduğuna göre, bağlı komut dosyasını düzenleyebilirsiniz. Aşağıdaki talimatları uygulayın:
Komut dosyası düzenleyiciyi aç
Menü çubuğunda Uzantılar > Apps Komut Dosyası'nı tıklayın.
Kod düzenleyici, yeni bir tarayıcı sekmesinde sayfa için varsayılan kapsayıcıya bağlı komut dosyasını gösterir. Otomatik olarak myFunction()
adlı varsayılan bir işlev oluşturulur ve çalışmaya başlayabilmeniz için imleciniz işlevin içine yerleştirilir.
Adresin Google haritasını e-postayla gönderin
"Şablon" kodu boş olduğundan, bu kodu uygulamamızla değiştirelim.
- Komut dosyası düzenleyicide, varsayılan
myFunction()
kod bloğunu aşağıdaki kodla değiştirin:
/** @OnlyCurrentDoc */
function sendMap() {
var sheet = SpreadsheetApp.getActiveSheet();
var address = sheet.getRange('A1').getValue();
var map = Maps.newStaticMap().addMarker(address);
GmailApp.sendEmail('YOUR_EMAIL_ADDR', 'Map', 'See below.', {attachments:[map]});
}
- Yer tutucu e-posta adresini (
'YOUR_EMAIL_ADDR'
) geçerli bir adresle değiştirin. Örneğin, friend@example.com. - Komut dosyanızı kaydetmek için Kaydet'i tıklayın.
- Apps Komut Dosyası projenizi yeniden adlandırmak için Adsız proje'yi tıklayın, projeniz için bir başlık girin ve Yeniden adlandır'ı tıklayın.
Kod incelemesi
Şimdi, uygulamanın tamamını oluşturan sendMap()
işlevinin 4 satırını inceleyelim. İlginç bir şekilde, kod 3 farklı Google ürününe referans veriyor.
İlk satır, yetkilendirmeyi etkileyen bir ek açıklama yorumudur:
/** @OnlyCurrentDoc */
Çoğu komut dosyası, çalıştırılmadan önce kullanıcıdan bazı izinler ister. Bu izinler, kullanıcının komut dosyasının ne yapmasına izin verdiğini kontrol eder. İlk satır, Apps Komut Dosyası'na geçerli e-tabloya (kullanıcının tüm e-tablolarına değil) erişimi sınırlaması talimatını veren isteğe bağlı ek açıklama içeren bir yorumdur. Yalnızca tek bir dosyayla çalışırken bu ek açıklamayı dahil etmek her zaman en iyi uygulamadır.
Kod, sendMap()
için normal bir JavaScript işlev bildirimi kullanır:
function sendMap() {
Bir sonraki satır, SpreadsheetApp
nesnesi aracılığıyla Apps Komut Dosyası'ndan erişilebilen E-Tablo Hizmeti'ni çağırır. Döndürülen sayfa, aynı ada sahip bir değişkene atanmıştır. getActiveSheet()
yöntemi, geçerli sayfa nesnesine bir referans alır ve bunu sheet
değişkeninde depolar.
var sheet = SpreadsheetApp.getActiveSheet();
sheet
nesnesinde, A1 gösterimindeki hücre aralığına (tek bir hücrenin) getRange()
ile başvururuz. Bir "aralık" A1
hücresi (adresini girdiğimiz) gibi tek bir hücre de dahil olmak üzere bir hücre grubudur. getValue()
yöntemi, aralığın içindeki değeri getirmek için aralıktaki sol üstteki hücrenin değerini döndürür ve değeri address
değişkenine atar. Daha fazla adres eklemeyi ve farklı hücrelerden okumayı da deneyebilirsiniz.
var address = sheet.getRange('A1').getValue();
Üçüncü kod satırı, Maps
nesnesi kullanılarak Google Haritalar Hizmeti'ne bağlanır. newStaticMap()
statik bir harita nesnesi oluşturur ve addMarker()
yöntemi bir "sabitleme" ekler sayfadaki adresi kullanarak haritaya ekleyin.
var map = Maps.newStaticMap().addMarker(address);
Son olarak, MailApp
nesnesi aracılığıyla Gmail Hizmeti, "Aşağıya bakın" metninin ikisini de içeren e-postayı göndermek için sendEmail()
yöntemini çağırır. ek olarak kaydedin.
GmailApp.sendEmail('friend@example.com', 'Map', 'See below.', {attachments:[map]});
}
6. Google E-Tablolar, Haritalar ve Gmail uygulamasını çalıştırma
Adlandırılıp kaydedildikten sonra işlevi çalıştırma zamanı gelmiş demektir. Düzenleyicinin üst kısmındaki işlev listesinde sendMap()
öğesinin seçili olduğundan emin olun ve Run'ı (Çalıştır) tıklayın.
Apps Komut Dosyası özelliği geliştiricilerinin takdir ettiği bir diğer özellik ise kullanıcıların verilerine erişmesine izin veren yetkilendirme kodu yazmanıza gerek olmamasıdır. Bunu Apps Komut Dosyası yönetiyor ancak uygulamanızın kullanıcılarının, komut dosyasının e-tablolarına erişmesi ve Gmail üzerinden e-posta göndermesi için yine de izin vermesi gerekiyor. İlk yetkilendirme iletişim kutusu şu şekilde görünür:
Devam etmek için İzinleri incele'yi tıklayın.
Ardından, sayfanıza erişmek ve sizin adınıza e-posta göndermek için izin isteyen OAuth2 iletişim penceresi görüntülenir:
İzin vermenizin ardından komut dosyası sonuna kadar çalışır.
Mesajınızı gönderdiğiniz e-posta hesabını kontrol edin. "Harita" yazan bir e-posta göreceksiniz. aşağıdaki gibi görünen bir ileti alır:
E-posta iletisindeki eki açtığınızda, sayfaya girdiğiniz adresin üzerinde raptiye içeren bir Google Haritası görürsünüz:
Yalnızca dört satırlık bir kodla 3 farklı Google ürününe anlamlı bir şekilde eriştiniz.
7. Ek kaynaklar
Bu codelab'de gösterilen kodlar github.com/googleworkspace/apps-script-intro-codelab adresindeki GitHub deposunda da bulunabilir. Bu codelab'de ele alınan materyalleri daha yakından incelemenize ve Google geliştirici araçlarına programatik şekilde erişmenin diğer yöntemlerini keşfetmenize yardımcı olacak diğer kaynakları aşağıda bulabilirsiniz.
Belgeler
- Google Apps Komut Dosyası belgelerinin yer aldığı site
- Apps Komut Dosyası: Gmail Hizmeti
- Apps Komut Dosyası: E-tablo Hizmeti
- Apps Komut Dosyası: Haritalar Hizmeti
Videolar
Haberler ve güncellemeleri
- Google Workspace Developers blogu
- Twitter: Google Workspace Geliştiricileri (@workspacedevs)
Diğer codelab'ler
Giriş
- [Google E-Tablolar] Google E-Tablolar ile Apps Komut Dosyası Hakkında Temel Bilgiler
- [REST API'ler] Google Workspace ve Dosyalara erişmek için Google API'leri Google Drive'ınızdaki klasörler
Orta düzey
- [Apps Komut Dosyası] Gmail için Google Workspace Eklentileri
- [Apps Komut Dosyası] Hangouts Chat için özel bot'lar
- [REST API'ler] Google E-Tablolar'ı uygulamanızın raporlama aracı olarak kullanma
- [REST API'ler] BigQuery API'yi kullanarak Google Slaytlar sunuları oluşturma