1. Google Apps Komut Dosyası'na giriş
Bu codelab'de, Google geliştirici teknolojilerine erişen kod yazmanın en kolay yollarından biriyle tanışacaksınız. Tüm bunlar, yaygın bir web geliştirme dili olan JavaScript uygulanarak yapılır. Google Apps Komut Dosyası'nı kullanarak bir Google E-Tablosu'ndaki hücreden sokak adresi ayıklamak, adrese göre Google Haritası oluşturmak ve ardından haritayı Gmail kullanarak ek olarak göndermek için kod yazacaksınız. Peki bunun en büyük avantajı nedir? Yalnızca dört satırlık bir kod olacaktır.
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.
İhtiyacınız olanlar
- İnternete erişimi olan bir web tarayıcısı
- Google Hesabı (Google Workspace hesapları için yönetici onayı gerekebilir)
- Google E-Tablolar hakkında temel bilgi
- E-tabloların A1 notasyonunu okuma
2. Anket
Bu codelab'i/eğitimi nasıl kullanacaksınız?
Google Workspace geliştirici araçları ve API'leriyle ilgili deneyiminizi nasıl değerlendirirsiniz?
3. Genel Bakış
Bu codelab'in ne hakkında olduğunu öğrendiğinize göre tam olarak ne yapacaksınız?
- JavaScript'e dayalı olan Apps Komut Dosyası hakkında bilgi edinin.
- Google E-Tablolar'da bir e-tablo oluşturun.
- E-tablonun sol üst hücresine (A1) bir açık adres girin.
- Herhangi bir doküman için Apps Komut Dosyası düzenleyiciyi nasıl açacağınızı öğrenin.
- Apps Komut Dosyası kodunu düzenleyin, kaydedin ve uygulayı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 yazma ve Gmail, Takvim, Drive gibi Google Workspace uygulamaları için yerleşik kitaplıklara erişme
- Kurulacak bir şey yoktur. Tarayıcınızda doğrudan bir kod düzenleyici sunarız ve komut dosyalarınız Google'ın sunucularında çalışır.
- Platform bu konuları sizin için ele aldığından güvenlik ve veri erişimi izinleri gibi karmaşık konularla ilgili endişelenmenize gerek kalmaz.
Apps Komut Dosyası, sohbet botlarından web uygulamalarına kadar çeşitli uygulamalar oluşturmak için kullanılabilir. En popüler kullanım alanlarından biri, Google E-Tablolar'ın işlevselliğini genişletmektir. Bu codelab'in geri kalanında, Apps Komut Dosyası'nı kullanarak bir e-tablodan veri alıp diğer Google hizmetlerine bağlamayı öğreneceksiniz.
4. Google E-Tablosu oluşturma ve açık adres girme
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'yu tıklayın.

- Boş e-tabloda sol üst köşedeki ilk hücreye (A1) gidin. Bu değer, A sütununda ve 1. satırda yer alır. Bilgilerinizi tazelemek isterseniz A1 gösterimiyle ilgili bu açıklamaya göz atabilirsiniz.
- Hücreye geçerli bir açık adres girin. Açık adres, posta kodu veya şehir ve eyalet/il kombinasyonu kullanarak dünyada tam konumu olan bir adres seçin. New York City'deki bir adres örneğini aşağıda bulabilirsiniz:

E-tabloda yapmanız gerekenler bu kadar. Düzenleyiciyi açıp biraz kod yazalım.
5. Apps Komut Dosyası kodunu düzenleme
Yeni bir Google E-Tablonuz olduğuna göre artık bağlı komut dosyasını düzenleyebilirsiniz. Aşağıdaki talimatları uygulayın:
Komut dosyası düzenleyiciyi açma
Apps Komut Dosyası için tarayıcı kod düzenleyiciyi açmak üzere menü çubuğunda Uzantılar > Apps Komut Dosyası'nı seçin.
Yeni bir tarayıcı sekmesinde, kod düzenleyicide sayfanın varsayılan kapsayıcıya bağlı komut dosyası gösterilir. myFunction() adlı varsayılan bir işlev otomatik olarak oluşturulur ve imleciniz işlevin içine yerleştirilir. Böylece, hemen çalışmaya başlayabilirsiniz.
Adresin Google Haritası'nı e-postayla gönderme
Size verilen "şablon" kodu boş olduğundan bunu 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. - Senaryonuzu 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
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 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 yapmasına izin verdiği işlemleri kontrol eder. İlk satır, Apps Komut Dosyası'na kullanıcının tüm e-tabloları yerine erişimi mevcut e-tabloyla sınırlaması talimatını veren bir isteğe bağlı ek açıklama içeren yorumdur. Tek bir dosyayla çalışırken bu ek açıklamayı eklemek her zaman en iyi uygulamadır.
Kod, sendMap() için normal bir JavaScript işlevi 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 atanır. getActiveSheet() yöntemi, mevcut sayfa nesnesine bir referans alır ve bunu sheet değişkeninde depolar.
var sheet = SpreadsheetApp.getActiveSheet();
sheet nesnesiyle, A1 gösterimindeki hücre aralığına (tek bir hücre) getRange() ile başvururuz. "Aralık", hücre A1 (adresi girdiğimiz hücre) gibi tek bir hücre de dahil olmak üzere bir hücre grubudur. Aralığın içinde ne olduğunu getirmek için getValue() yöntemi, aralıktaki sol üst 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, sayfadaki adresi kullanarak haritaya bir "pin" ekler.
var map = Maps.newStaticMap().addMarker(address);
Son olarak, MailApp nesnesi aracılığıyla Gmail Hizmeti, hem "Aşağıya bakın." metnini hem de harita resmini ek olarak içeren e-postayı göndermek için sendEmail() yöntemini çağırır.
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ı gelir. Düzenleyicinin üst kısmındaki işlevler listesinden sendMap() öğesinin seçili olduğundan emin olun ve Çalıştır'ı tıklayın.
Geliştiricilerin beğendiği bir Apps Komut Dosyası özelliği, programa kullanıcının verilerine erişim izni veren yetkilendirme kodu yazmanız gerekmemesidir. Bu işlem Apps Komut Dosyası tarafından yönetilse de 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 izin vermesi gerekir. İlk yetkilendirme iletişim kutusu şu şekilde görünür:

Devam etmek için İzinleri incele'yi tıklayın.
Ardından, e-tablonuza erişme ve sizin adınıza e-posta gönderme izni isteyen OAuth2 iletişim penceresi gösterilir:

İzin verdikten sonra komut dosyası tamamlanana kadar çalışır.
İletinizi gönderdiğiniz e-posta hesabını kontrol edin. Konusu "Harita" olan ve aşağıdaki gibi görünen bir e-posta bulmanız gerekir:

E-posta iletisindeki eki açtığınızda, sayfaya girdiğiniz adreste bir raptiye bulunan Google Harita gösterilir:

Yalnızca dört satırlık kodla 3 farklı Google ürününe anlamlı bir şekilde erişebilirsiniz.
7. Ek kaynaklar
Bu codelab'de gösterilen kodlar, şu adresteki ilgili GitHub kod deposunda da bulunabilir: github.com/googleworkspace/apps-script-intro-codelab. 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 ek 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üncellemeler
- Google Workspace Developers blogu
- Twitter: Google Workspace Developers (@workspacedevs)
Diğer Codelab'ler
Giriş
- [Google E-Tablolar] Google E-Tablolar ile Apps Komut Dosyası'nın temelleri
- [REST API'ler] Google Drive'ınızdaki dosya ve klasörlere erişmek için Google Workspace ve Google API'lerini kullanma
Orta düzey
- [Apps Komut Dosyası] Gmail için Google Workspace eklentileri
- [Apps Komut Dosyası] Hangouts Chat için özel botlar
- [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