Gelen webhook'lar, Chat uygulaması olmayan uygulamalardan Google Chat'e eşzamansız mesajlar göndermenizi sağlar. Örneğin, bir sunucu kapandığında Google Chat'te nöbetçi personeli bilgilendirecek bir izleme uygulaması yapılandırabilirsiniz.
Chat uygulamasıyla bir Chat alanındaki mesajları eşzamansız olarak göndermek, güncellemek veya silmek için Mesaj oluşturma, okuma, güncelleme ve silme başlıklı makaleyi inceleyin.
Ön koşullar
Bu kılavuzdaki örneği çalıştırmak için şunlara ihtiyacınız vardır:
Python
- Python 3.10.7 veya sonraki sürümler.
- İnternete ve web tarayıcısına erişim.
- Google Chat'e erişimi olan bir Google Workspace hesabı
- Mevcut bir Google Chat alanı.
httplib2
kitaplığı. Gerekirse kitaplığı pip kullanarak yüklemek için aşağıdaki komut satırı arayüzü (CLI) komutunu çalıştırın:pip install httplib2
Node.js
- Node.js ve npm yüklü olmalıdır.
- İnternete ve web tarayıcısına erişim.
- Google Chat'e erişimi olan bir Google Workspace hesabı
- Mevcut bir Google Chat alanı.
Apps Komut Dosyası
- İnternete ve web tarayıcısına erişim.
- Google Chat'e erişimi olan bir Google Workspace hesabı
- Mevcut bir Google Chat alanı.
Java
- Java 11 veya üzeri.
- Apache Maven
- İnternete ve web tarayıcısına erişim.
- Google Chat'e erişimi olan bir Google Workspace hesabı
- Mevcut bir Google Chat alanı.
Webhook oluşturma
Webhook oluşturmak için, mesaj almak istediğiniz Google Chat alanına webhook'u kaydedin, ardından mesaj gönderen bir komut dosyası yazın.
1. Adım: Gelen webhook'u kaydedin
- Google Chat'i açın.
- Webhook eklemek istediğiniz alanı açın.
- Alan başlığının yanındaki daha fazla genişlet okunu, ardından Uygulamalar ve entegrasyonlar'ı tıklayın.
- Webhook ekle'yi tıklayın.
- Name (Ad) alanına
Quickstart Webhook
yazın. - Avatar URL (Avatar URL'si) alanına
https://developers.google.com/chat/images/chat-product-icon.png
yazın. - Kaydet'i tıklayın.
- Webhook URL'sini kopyalamak için Diğer'i ve ardından Bağlantıyı kopyala'yı tıklayın.
2. Adım: Webhook komut dosyasını yazın
Örnek webhook komut dosyası, webhook URL'sine bir create message isteği YAYINlayarak webhook'un kayıtlı olduğu alana bir mesaj yayınlar. Google Chat API, Message
örneğiyle yanıt verir.
Webhook komut dosyasının nasıl oluşturulacağına ilişkin özel talimatlar için aşağıdan bir dil seçin:
Python
Çalışma dizininizde
quickstart.py
adında bir dosya oluşturun.quickstart.py
uygulamasında aşağıdaki kodu kopyalayıp yapıştırın:url
değişkeninin değerini, 1. Adım: Gelen webhook'u kaydetme bölümünde kopyaladığınız webhook URL'si ile değiştirin.
Node.js
Çalışma dizininizde
index.js
adında bir dosya oluşturun.index.js
uygulamasında aşağıdaki kodu kopyalayıp yapıştırın:webhookURL
değişkeninin değerini, 1. Adım: Gelen webhook'u kaydetme bölümünde kopyaladığınız webhook URL'si ile değiştirin.
Apps Komut Dosyası
Apps Komut Dosyası sayfasına gidin.
Yeni Proje'yi tıklayın.
Aşağıdaki kodu kopyalayıp yapıştırın:
url
değişkeninin değerini, 1. Adım: Gelen webhook'u kaydetme bölümünde kopyaladığınız webhook URL'si ile değiştirin.
Java
Çalışma dizininizde
pom.xml
adında bir dosya oluşturun.pom.xml
web sitesinde aşağıdakileri kopyalayıp yapıştırın:Çalışma dizininizde şu dizin yapısını oluşturun:
src/main/java
.src/main/java
dizinindeApp.java
adında bir dosya oluşturun.App.java
uygulamasında aşağıdaki kodu kopyalayıp yapıştırın:URL
değişkeninin değerini, 1. Adım: Gelen webhook'u kaydetme bölümünde kopyaladığınız webhook URL'si ile değiştirin.
3. Adım: Webhook komut dosyasını çalıştırın
KSA'nızdaki çalışma dizininden aşağıdaki komutu çalıştırarak örneği çalıştırın:
Python
python3 quickstart.py
Node.js
node index.js
Apps Komut Dosyası
- Çalıştır'ı tıklayın.
Java
mvn compile exec:java -Dexec.mainClass=App
Örnek kodu çalıştırdığınızda webhook, kodu kaydettiğiniz alana bir mesaj gönderir.
Bir mesaj dizisi başlatma veya bir mesaj dizisini yanıtlama
Webhook URL'sine threadKey
parametresini ekleyerek bir mesaj dizisi başlatabilir veya bir mesaj dizisini yanıtlayabilirsiniz. Her threadKey
, kendisini ayarlayan uygulamaya özgüdür. İki farklı Chat uygulaması veya webhook'u aynı threadKey
değerini ayarlarsa iki farklı mesaj dizisi başlar.
Mesaj dizisi başlat
Webhook içeren bir ileti dizisinin ilk mesajını yayınlamak için threadKey
ve messageReplyOption
parametrelerini webhook URL'sine ekleyin. threadKey
öğesini rastgele bir dizeye ayarlayın ancak bunun ne olduğunu unutmayın. İleti dizisine bir yanıt yayınlamak için bu dizeyi tekrar belirtmeniz gerekir.
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=ARBITRARY_STRING&messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
Bir mesaj dizisini yanıtlama
Mevcut bir mesaj dizisine mesaj göndermek için threadKey
ve messageReplyOption
parametrelerini, ileti dizisini başlatmak için kullanılan değere ayarlanmış olan webhook URL'sine ekleyin. Örneğin, aşağıdaki URL'ye bir mesaj gönderdiğinizde threadKey
MY-THREAD
, messageReplyOption
ise REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
olan ileti dizisine bir yanıt yayınlar:
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=MY-THREAD&messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
Sınırlar ve dikkat edilmesi gereken noktalar
Webhook'ları yapılandırırken aşağıdaki sınırlamaları ve dikkate alınması gereken noktaları göz önünde bulundurun:
Her webhook yalnızca kayıtlı olduğu Chat alanında çalışır.
Google Workspace Marketplace'te webhook yayınlayamazsınız.
Webhook'lar konuşma odaklı değildir. Kullanıcılara veya Chat uygulaması etkileşim etkinliklerine yanıt veremez ya da mesaj alamazlar.
Alanınızdaki yalnızca belirli kuruluş birimlerinde Chat uygulamaları etkinse gelen web kancaları aşağıdaki hatayı döndürür:
{ "error": { "code": 403, "message": "The caller does not have permission", "status": "PERMISSION_DENIED" } }
Gelen webhook'lar yalnızca tüm kullanıcılar Chat uygulamaları etkin olduğunda doğrudan mesajlarda çalışır.
Webhook'ları yönet yalnızca web tarayıcısında kullanılabildiğinden, webhook'lar Chat web uygulamasından ayarlanmalıdır. Webhook'lar Chat mobil uygulamasından yapılandırılamaz.