Google Chat mesajları gönderme

Bu sayfada, Google Chat uygulamalarının kullanıcı etkileşimlerine yanıt vermek için nasıl mesaj gönderebileceği açıklanmaktadır.

  • Eğik çizgi komutundan iletişim formu.
    1. şekil. A Sohbet uygulaması, eğik çizgi komutuna metin mesajı ve düğmeyle yanıt veriyor.
  • İletişim formu iletişim kutusu.
    Şekil 2. Bir sohbet uygulamasında, kullanıcıların bilgi girebileceği bir iletişim kutusu açılır.
  • Form girişi widget'larının bulunduğu kart mesajı.
    5. şekil. A Chat uygulaması, metin ve etkileşimli kart içeren bir mesaj gönderir.

Ön koşullar

Node.js

Google Chat'i genişleten bir Google Workspace eklentisi Oluşturmak için HTTP hızlı başlangıç kılavuzunu tamamlayın.

Apps Komut Dosyası

Google Chat'i genişleten bir Google Workspace eklentisi Bir tane oluşturmak için Apps Komut Dosyası hızlı başlangıç kılavuzunu tamamlayın.

Mesajı tasarlama

Sohbet uygulamaları, mesajlara aşağıdakilerden herhangi birini ekleyebilir:

  • Köprüler, @bahsetmeler ve emoji içeren metinler
  • İletide görünebilen veya yeni pencerede iletişim kutusu olarak açılabilen bir veya daha fazla kart.
  • İletideki metinlerden veya kartlardan sonra görünen düğmeler olan bir veya daha fazla aksesuar widget'ı.

Mesaj tasarlama hakkında bilgi edinmek için aşağıdaki Google Chat API belgelerini inceleyin:

Mesajla yanıtla

Sohbet uygulamaları, aşağıdaki tetikleyicilerden veya etkileşimlerden herhangi birine mesajla yanıt verebilir:

  • Kullanıcılar bir Chat uygulamasından @bahsettiğinde veya uygulamaya doğrudan mesaj gönderdiğinde olduğu gibi mesaj tetikleyicileri.
  • Kullanıcıların Google Workspace Marketplace'ten Chat uygulamasını yüklemesi veya uygulamayı bir alana eklemesi gibi alana eklenen tetikleyiciler.
  • İletilerdeki veya iletişim kutularındaki kartlardan yapılan düğme tıklamaları. Örneğin, kullanıcılar bilgi girip gönder'i tıkladığında.

Aksi takdirde, Chat uygulamaları Google Chat API'yi çağırarak proaktif olarak mesaj gönderebilir.

Mesajla yanıt vermek için CreateMessageAction nesnesiyle birlikte işlemi DataActions döndürün:

{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
  "message": MESSAGE
}}}

MESSAGE yerine Chat API'den bir Message kaynağı girin. İşlemlerin işleyiş şekli hakkında daha fazla bilgi edinmek için Sohbet işlemleri başlıklı makaleyi inceleyin.

Aşağıdaki örnekte, bir Chat uygulaması bir alana her eklendiğinde kısa mesaj oluşturup gönderiyor. Bir kullanıcı Chat uygulamanızı alana eklediğinde kısa mesaj göndermek için Chat uygulamanız DataActions işlemini döndürerek Alana eklendi tetikleyicisine yanıt verir:

Node.js

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} req The request object from Google Workspace add-on.
 * @param {Object} res The response object from the Chat app. An onboarding message that
 *                     introduces the app and helps people get started with it.
 */
exports.cymbalApp = function cymbalApp(req, res) {
  const chatEvent = req.body.chat;
  // Send an onboarding message when added to a Chat space
  if (chatEvent.addedToSpacePayload) {
    res.json({ hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
      text: 'Hi, Cymbal at your service. I help you manage your calendar' +
            'from Google Chat. Take a look at your schedule today by typing' +
            '`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn' +
            'what else I can do, type `/help`.'
    }}}}});
  }
};

Apps Komut Dosyası

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} event The event object from Chat API.
 * @return {Object} Response from the Chat app. An onboarding message that
 *                  introduces the app and helps people get started with it.
 */
function onAddedToSpace(event) {
  return { hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
    text: 'Hi, Cymbal at your service. I help you manage your calendar' +
          'from Google Chat. Take a look at your schedule today by typing' +
          '`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn' +
          'what else I can do, type `/help`.'
  }}}}};
}

Kod örneği aşağıdaki kısa mesajı döndürür:

İlk katılım mesajı örneği.

Mesajla yanıt verme hakkında daha fazla örnek için aşağıdaki kılavuzlara bakın:

İletileri güncelleme

Sohbet uygulamaları, gönderdikleri mesajları da güncelleyebilir. Örneğin, kullanıcı bir iletişim kutusu gönderdikten veya bir düğmeyi tıkladıktan sonra mesajı güncellemek için.

Bir Chat uygulaması mesajını güncellemek için aşağıdaki örnekte gösterildiği gibi UpdateMessageAction ile birlikte action DataActions değerini döndürün:

{ "hostAppDataAction": { "chatDataAction": { "updateMessageAction": {
  "message": MESSAGE
}}}}

MESSAGE yerine Chat API'den bir Message kaynağı girin.

İşlemlerin işleyiş şekli hakkında daha fazla bilgi edinmek için Sohbet işlemleri başlıklı makaleyi inceleyin.

Sohbet uygulamaları, kullanıcının gönderdiği bağlantının önizlemesini döndürmek için kullanıcının mesajını da güncelleyebilir. Ayrıntılı bilgi için Google Chat mesajlarındaki bağlantıları önizleme başlıklı makaleyi inceleyin.

Google Chat API'yi kullanarak etkileşimleri yanıtlama veya proaktif mesajlar gönderme

Eklenti işlemi döndürmek yerine, Chat uygulamalarının etkileşime yanıt vermek için Google Chat API'sini kullanması gerekebilir. Örneğin, Chat uygulamalarının aşağıdakilerden herhangi birini yapabilmesi için Google Chat API'yi çağırması gerekir:

  • Belirli bir zamanda veya harici kaynaklardaki değişikliklerle ilgili mesajlar gönderme Örneğin, yeni bir sorun veya olayla ilgili bildirimler.
  • Etkileşimden 30 saniye sonra yanıt verme Örneğin, uzun süren bir görevi tamamladıktan sonra mesajla yanıt vermek için.
  • Etkileşimin gerçekleştiği alanın dışında mesaj gönderme
  • Chat kullanıcısı adına mesaj gönderme

Chat API'yi kullanarak mesaj göndermek için kimlik doğrulamayı ayarlamanız ve create() kaynağında Message yöntemini çağırmanız gerekir. Adımlar için Google Chat API'yi kullanarak mesaj gönderme başlıklı makaleyi inceleyin.