Airtable ve E-Tablolar senkronizasyonuGeliştirme ve Özelleştirme

Airtable tabanınız ile bir Google E-Tablolar dosyası arasında kayıtları tek yönlü ya da çift yönlü kopyalayan bir Google Apps Script

Genellikle 15 dakika içinde hazırRevizyonlar dahilKalite kontrolü
Paketler
Ödeme korumasıAyrıntılar
  • Paket kapsamındaki revizyonlar ücretsizdir.
  • Teslimattan sonraki 3 gün içinde yanıt vermezseniz iş otomatik olarak onaylanır.

Para, ödeme yaptığınızda bloke edilir ve yalnızca işi onayladığınızda aktarılır.

Airtable tabanınız ile bir Google E-Tablolar dosyası arasında kayıtları tek yönlü ya da çift yönlü kopyalayan bir Google Apps Script

Örnek sonuç

Standart paket için örnek

Merging the monthly sales files of 9 shops into one Excel report

How it is run

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Folder: sales/2026-10, 9 files found
2026-11-02 09:14:03 INFO  shop-01.csv: 1,284 rows
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 rows
2026-11-02 09:14:04 WARN  shop-07.csv: 3 rows without a price skipped (lines 88, 412, 913)
2026-11-02 09:14:05 INFO  Done: 10,412 rows -> report-2026-10.xlsx (sheets "Sales" and "Totals")

Settings, not code

The column names of each shop live in settings.ini, so a new shop or a renamed column is a line there:

[columns]
date = Date, Sale date, Day
product = Product, Item, Name
quantity = Qty, Quantity, Pcs
price = Price, Unit price

A part of the code

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Reads one shop's file and gives it the report's column names."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: no column for '{name}' (looked for {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

Files: a ZIP archive with merge_sales.py (310 lines), settings.ini, requirements.txt and a README with installing Python, running the script and what each message in the log means. The client runs it on their own computer.

Client: a small chain of 9 stationery shops; each shop sends its sales for the month as a CSV or Excel file, with slightly different column names. Task: one script that reads every file in a folder, brings the columns to one shape, and writes a single Excel report with all sales and a sheet of totals by shop.

Müşteri ve tüm ayrıntılar kurgusaldır.

Bu hizmet hakkında

Bir projede bazı kişiler Airtable'da, diğerleri yalnızca Google E-Tablolar'da çalışır ve kayıtları ikisi arasında kopyalamak er ya da geç ters gider. Bu Google Apps Script Airtable tabanınızı kendi kişisel erişim token'ınızla resmî API'si üzerinden okur ve seçtiğiniz kayıtları bir tabloya yazar: bir tablo ya da görünüm, ihtiyacınız olan alanlar sütunlar olarak. Standart paketten itibaren her satırda kayıt kimliğini tutar, böylece ikinci bir çalıştırma satırları çoğaltmak yerine günceller ve bağlı kayıtları adlarıyla gösterir. Premium, hangi tarafın geçerli olacağına dair belirlediğiniz kurala göre tablodaki düzenlemeleri Airtable'a geri gönderir. Token'ınız asla koda değil, sizin doldurduğunuz betik özelliklerine girer. Airtable API'sinin izin verdiği hızda çalışır; ekler bağlantı olarak gelir.

Neler dahil

  • Neler alırsınızApps Script kodunu ve onu tablonuza nasıl ekleyeceğinizi, token'ınızı nasıl gireceğinizi ve nasıl çalıştıracağınızı gösteren bir README dosyasını içeren bir ZIP arşivi; kod sipariş sayfasında da gösterilir.
  • Resmî APIToken'ınızla Airtable'ın kendi Web API'si
  • Sizin seçtiğiniz alanlarBir tablo ya da görünüm, yalnızca ihtiyacınız olan alanlar
  • Çift kayıt yokStandart paketten itibaren satırlar kayıt kimliğiyle eşlenir
  • Token kodun dışındaOnu betik özelliklerine siz girersiniz
  • Okunabilir kodYorumlarla; sonradan alan eklemek kolay

Nasıl çalışır

  1. 1
    GörevTabanı, tabloları ve yönü anlatırsınız
  2. 2
    KodBetiği Airtable'ın dokümantasyonuna göre ve kurulum kılavuzunu yazarız
  3. 3
    DeneyinTabanın bir kopyasında ya da bir deneme görünümünde çalıştırırsınız
  4. 4
    DeğişikliklerPaketiniz kapsamında değişiklik ister, varsa hata mesajını gönderirsiniz

Sizden neler gerekiyor

Senkronize edilecek Airtable tabloları ya da görünümleri ve alanlarının türleriyle (metin, sayı, tarih, tek seçim, bağlı kayıt, ek) ekran görüntüsü, gidecekleri tablo ve sütunların nasıl adlandırılıp sıralanacağı. Hangi yöne ihtiyacınız olduğu ve çift yönlü senkronizasyon için (Premium) aynı kayıt iki yerde değiştiğinde hangi tarafın geçerli olacağı. Ne sıklıkla çalışacağı. Kişisel erişim token'ını Airtable hesabınızda oluşturun; bize asla göndermeyin.

Size soracaklarımız:

  • Airtable tabanında ne var?
  • Hangi yöne ihtiyacınız var?
  • Hangi alanlar aktarılmalı?
  • Ne sıklıkla çalışmalı?

Paketleri karşılaştırın

PaketlerTemelAirtable'dan E-Tablolar'a$16StandartAyarlı senkronizasyon$33PremiumÇift yönlü senkronizasyon aracı$67
Teslim süresi1 gün2 gün3 gün
Revizyonlar123
Koden fazla 150 satıren fazla 400 satıren fazla 1.000 satır
Kod dosyası1en fazla 3en fazla 8
Ayar dosyasıHayırEvetEvet
Anlaşılır hata mesajları ve logHayırEvetEvet
Çalıştırma seçenekleri ve zamanlanmış çalıştırma kılavuzuHayırHayırEvet
Kurulum ve çalıştırma kılavuzu (README)EvetEvetEvet
DilGoogle Apps ScriptGoogle Apps ScriptGoogle Apps Script
Sipariş ver TemelSipariş ver StandartSipariş ver Premium

Ödeme koruması

Sipariş verirken ödersiniz, ancak para yalnızca onaylanan iş için aktarılır.

  • Sabit fiyatPaket fiyatı, ödeme yaptıktan sonra değişmez.
  • Para bloke edilirÖdeme yaptığınızda tutar yalnızca bloke edilir. İşi onayladığınızda hizmete aktarılır.
  • Teslimattan önce kontrolHer sonuç size ulaşmadan önce kalite kontrolünden geçer ve onaylamadan önce sipariş sayfasında görürsünüz.
  • Ücretsiz revizyonlarBrifiniz kapsamında, paketin izin verdiği sayıda değişiklik isteyin.
  • 3 gün sonra onayTeslimattan sonraki 3 gün içinde işi onaylamaz veya değişiklik istemezseniz iş otomatik olarak onaylanır. Teslimattan sonra sipariş sohbetine yazarsanız sipariş bekletilir; yanıt verdikten sonra 3 günlük süreyi yeniden başlatabiliriz ve bunu sohbette bildiririz.
  • Yeniden yapım veya tam iadeSonuç brifinize uymuyorsa ve revizyonlar sorunu çözmediyse ya da iş teslim süresinin iki katından uzun sürerse sipariş sohbetine yazın: işi yeniden yaparız veya ödemenin tamamını iade ederiz.
Nasıl çalışır →

Sorular ve yanıtlar

Gerçek zamanlı bir senkronizasyon gibi canlı mı?

Hayır. Çalıştığında kopyalar: bir düğmeyle ya da Premium'un kılavuzuyla bir zaman tetikleyicisinde, örneğin 15 dakikada bir. Aradaki değişiklikler bir sonraki çalıştırmada görünür.

Eklere ve bağlı kayıtlara ne olur?

Ekler dosyalara bağlantı olarak gelir. Bağlı kayıtlar Standart paketten itibaren adlarıyla görünür; Temel pakette kayıt kimlikleri olarak gelir.

Tablodaki düzenlemeler Airtable'ın üzerine yazabilir mi?

Yalnızca Premium pakette ve yalnızca izin verdiğiniz alanlarda, hangi tarafın geçerli olacağına dair kuralınıza göre. Önce tabanın bir kopyasında deneyin.

Tabanıma erişiminiz olacak mı?

Hayır. Token'ı siz oluşturur ve betiği kendi hesaplarınıza siz eklersiniz. Biz ekran görüntülerinizden ve Airtable'ın dokümantasyonundan çalışırız.

Yanıtınızı bulamadınız mı?

Paketler