Bu sayfada, Pub/Sub'ı kullanarak Chat uygulaması oluşturma hakkında bilgi verilmektedir. Kuruluşunuzda Chat'in Chat uygulamanıza mesaj göndermesini engelleyebilecek bir güvenlik duvarı varsa veya Chat uygulaması Google Workspace Events API'yi kullanıyorsa Chat uygulaması için bu tür bir mimari kullanışlıdır. Ancak bu Chat uygulamaları yalnızca eşzamansız mesaj gönderip alabildikleri için bu mimarinin aşağıdaki sınırlamaları vardır:
- Mesajlarda iletişim kutuları kullanılamaz. Bunun yerine kart mesajı kullanın.
- Kartları senkronize yanıtla tek tek güncelleyemezsiniz. Bunun yerine,
patch
yöntemini çağırarak mesajın tamamını güncelleyin.
Aşağıdaki şemada, Pub/Sub ile oluşturulmuş bir Chat uygulamasının mimarisi gösterilmektedir:
Önceki şemada, Pub/Sub Chat uygulamasıyla etkileşimde bulunan bir kullanıcının aşağıdaki bilgi akışı vardır:
Bir kullanıcı, Chat'te bir Chat uygulamasına doğrudan mesaj veya Chat alanında mesaj gönderir ya da Chat uygulamasının etkin bir aboneliği olan bir Chat alanında bir etkinlik gerçekleşir.
Chat, mesajı bir Pub/Sub konusuna gönderir.
Chat uygulaması mantığını içeren bir bulut veya şirket içi sistem olan uygulama sunucusu, mesajı güvenlik duvarından almak için Pub/Sub konusuna abone olur.
İsteğe bağlı olarak Chat uygulaması, mesajları eşzamansız olarak yayınlamak veya başka işlemler yapmak için Chat API'yi çağırabilir.
Ön koşullar
Java
- Google Chat'e erişimi olan bir Business veya Enterprise Google Workspace hesabı
- Faturalandırmanın etkin olduğu bir Google Cloud projesi. Mevcut bir projede faturalandırmanın etkin olup olmadığını kontrol etmek için Projelerinizin faturalandırma durumunu doğrulama başlıklı makaleyi inceleyin. Proje oluşturmak ve faturalandırmayı ayarlamak için Google Cloud projesi oluşturma başlıklı makaleyi inceleyin.
- Java 11 veya üzeri
- Maven paket yönetimi aracı
Python
- Google Chat'e erişimi olan bir Business veya Enterprise Google Workspace hesabı
- Faturalandırmanın etkin olduğu bir Google Cloud projesi. Mevcut bir projede faturalandırmanın etkin olup olmadığını kontrol etmek için Projelerinizin faturalandırma durumunu doğrulama başlıklı makaleyi inceleyin. Proje oluşturmak ve faturalandırmayı ayarlamak için Google Cloud projesi oluşturma başlıklı makaleyi inceleyin.
- Python 3.6 veya sonraki sürümler
- pip paket yönetim aracı
Node.js
- Google Chat'e erişimi olan bir Business veya Enterprise Google Workspace hesabı
- Faturalandırmanın etkin olduğu bir Google Cloud projesi. Mevcut bir projede faturalandırmanın etkin olup olmadığını kontrol etmek için Projelerinizin faturalandırma durumunu doğrulama başlıklı makaleyi inceleyin. Proje oluşturmak ve faturalandırmayı ayarlamak için Google Cloud projesi oluşturma başlıklı makaleyi inceleyin.
- Node.js 14 veya daha yeni sürümler
- npm paket yönetim aracı
-
Başlatılmış bir Node.js projesi. Yeni bir projeyi başlatmak için yeni bir klasör oluşturup bu klasöre geçin ve ardından komut satırı arayüzünüzde aşağıdaki komutu çalıştırın:
npm init
Ortamı ayarlama
Google API'lerini kullanmadan önce bir Google Cloud projesinde etkinleştirmeniz gerekir. Tek bir Google Cloud projesinde bir veya daha fazla API'yi etkinleştirebilirsiniz.Google Cloud Console'da Google Chat API'yi ve Pub/Sub API'yi etkinleştirin.
Pub/Sub'ı ayarlama
Chat API'nin mesaj gönderebileceği bir Pub/Sub konusu oluşturun. Her Chat uygulaması için tek bir konu kullanmanızı öneririz.
Aşağıdaki hizmet hesabına Pub/Sub Yayıncısı rolünü atayarak Chat'e konuya yayın yapma izni verin:
chat-api-push@system.gserviceaccount.com
Chat uygulamasının Pub/Sub ve Chat ile yetkilendirilmesi için bir hizmet hesabı oluşturun ve özel anahtar dosyasını çalışma dizininize kaydedin.
Konuya pull aboneliği oluşturun.
Daha önce oluşturduğunuz hizmet hesabı için aboneliğe Pub/Sub Abonesi Rolünü atayın.
Komut dosyasını yazma
Java
Bir komut satırı arayüzünde hizmet hesabı kimlik bilgilerini sağlayın:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Bir CLI'de Google Cloud proje kimliğini sağlayın:
export PROJECT_ID=PROJECT_ID
Bir komut satırı arayüzünde, daha önce oluşturduğunuz Pub/Sub aboneliğinin abonelik kimliğini sağlayın:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Çalışma dizininizde
pom.xml
adlı bir dosya oluşturun.pom.xml
dosyasına aşağıdaki kodu yapıştırın:Çalışma dizininizde
src/main/java
dizin yapısını oluşturun.src/main/java
dizinindeMain.java
adlı bir dosya oluşturun.Main.java
alanına aşağıdaki kodu yapıştırın:
Python
Bir komut satırı arayüzünde hizmet hesabı kimlik bilgilerini sağlayın:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Bir CLI'de Google Cloud proje kimliğini sağlayın:
export PROJECT_ID=PROJECT_ID
Bir komut satırı arayüzünde, daha önce oluşturduğunuz Pub/Sub aboneliğinin abonelik kimliğini sağlayın:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Çalışma dizininizde
requirements.txt
adlı bir dosya oluşturun.requirements.txt
dosyasına aşağıdaki kodu yapıştırın:Çalışma dizininizde
app.py
adlı bir dosya oluşturun.app.py
alanına aşağıdaki kodu yapıştırın:
Node.js
Bir komut satırı arayüzünde hizmet hesabı kimlik bilgilerini sağlayın:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Bir CLI'de Google Cloud proje kimliğini sağlayın:
export PROJECT_ID=PROJECT_ID
Bir komut satırı arayüzünde, daha önce oluşturduğunuz Pub/Sub aboneliğinin abonelik kimliğini sağlayın:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Çalışma dizininizde
package.json
adlı bir dosya oluşturun.package.json
dosyasına aşağıdaki kodu yapıştırın:Çalışma dizininizde
index.js
adlı bir dosya oluşturun.index.js
alanına aşağıdaki kodu yapıştırın:
Uygulamayı Chat'te yayınlama
Google Cloud Console'da Menü > API'ler ve Hizmetler > Etkin API'ler ve Hizmetler > Google Chat API > Yapılandırma'ya gidin.
Chat uygulamasını Pub/Sub için yapılandırın:
- Uygulama adı alanına
Quickstart App
yazın. - Avatar URL'si alanına
https://developers.google.com/chat/images/quickstart-app-avatar.png
yazın. - Açıklama alanına
Quickstart app
yazın. - İşlevsellik bölümünde 1:1 mesaj alma ve Alanlara ve grup görüşmelerine katılma'yı seçin.
- Bağlantı ayarları bölümünde Cloud Pub/Sub'ı seçin ve daha önce oluşturduğunuz Pub/Sub konusunun adını yapıştırın.
- Görünürlük bölümünde, alanınızda Bu Google Chat uygulamasını belirli kişiler ve gruplar için kullanılabilir hale getir'i seçin ve e-posta adresinizi girin.
- Günlükler bölümünde Günlüğe hata kaydet'i seçin.
- Uygulama adı alanına
Kaydet'i tıklayın.
Uygulama, Chat'te mesaj almaya ve yanıtlamaya hazırdır.
Komut dosyasını çalıştırma
Bir CLI'de çalışma dizininize geçin ve komut dosyasını çalıştırın:
Java
mvn compile exec:java -Dexec.mainClass=Main
Python
python -m venv env
source env/bin/activate
pip install -r requirements.txt -U
python app.py
Node.js
npm install
npm start
Kodu çalıştırdığınızda uygulama, Pub/Sub konusuna yayınlanan mesajları dinlemeye başlar.
Chat uygulamanızı test etme
Chat uygulamanızı test etmek için Chat uygulamasıyla bir doğrudan mesaj alanı açın ve mesaj gönderin:
Kendinizi güvenilir test kullanıcısı olarak eklerken sağladığınız Google Workspace hesabını kullanarak Google Chat'i açın.
- Yeni sohbet'i tıklayın.
- 1 veya daha fazla kullanıcı ekle alanına Chat uygulamanızın adını yazın.
Sonuçlardan Chat uygulamanızı seçin. Doğrudan mesaj açılır.
- Uygulamayla olan yeni doğrudan mesajda
Hello
yazın veenter
tuşuna basın.
Güvenilir test kullanıcıları eklemek ve etkileşimli özellikleri test etme hakkında daha fazla bilgi edinmek için Google Chat uygulamaları için etkileşimli özellikleri test etme başlıklı makaleyi inceleyin.
Sorun giderme
Bir Google Chat uygulaması veya kartı hata döndürdüğünde Chat arayüzünde "Bir hata oluştu" mesajı gösterilir. veya "İsteğiniz işlenemiyor." Bazen Chat kullanıcı arayüzünde hata mesajı gösterilmez ancak Chat uygulaması veya kartı beklenmedik bir sonuç verir. Örneğin, kart mesajı görünmeyebilir.
Chat kullanıcı arayüzünde hata mesajı gösterilmeyebilir ancak Chat uygulamaları için hata günlüğü etkinleştirildiğinde hataları düzeltmenize yardımcı olacak açıklayıcı hata mesajları ve günlük verileri kullanılabilir. Hataları görüntüleme, hata ayıklama ve düzeltme hakkında yardım için Google Chat hatalarını giderme başlıklı makaleyi inceleyin.
Temizleme
Bu eğiticide kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini istemiyorsanız Cloud projesini silmenizi öneririz.
- Google Cloud Console'da Kaynakları yönetin sayfasına gidin. Menü > IAM ve Yönetici > Kaynakları Yönet'i tıklayın.
- Proje listesinde, silmek istediğiniz projeyi seçin ve ardından Sil'i tıklayın.
- İletişim kutusuna proje kimliğini yazın ve projeyi silmek için Kapat'ı tıklayın.
İlgili konular
Chat uygulamanıza daha fazla özellik eklemek için aşağıdakileri inceleyin: