Chat uygulamasını diğer hizmetlere ve araçlara bağlama

Bu sayfada, Google Chat uygulamalarının Google Chat dışındaki bir hizmete veya araca nasıl bağlanacağı açıklanmaktadır. Chat uygulamaları tek başlarına güçlü olsa da genellikle diğer sistemlerle birlikte çalışır ve hesapları bağlamak, veri erişimini yetkilendirmek, ek verileri göstermek veya kullanıcı tercihlerini yapılandırmak için yardımcı uygulamalar gerektirir.

Ön koşullar

Etkileşim etkinliklerini alıp bunlara yanıt verecek şekilde yapılandırılmış bir Google Chat uygulaması. Etkileşimli bir Chat uygulaması oluşturmak için kullanmak istediğiniz uygulama mimarisine göre aşağıdaki hızlı başlangıçlardan birini tamamlayın:

Kullanıcıdan Chat uygulaması yapılandırması isteğinde bulunma

Bir isteğin tamamlanması için Chat uygulamasında doğrudan yapılamayan ek yapılandırma gerekirse normal yanıtın bir parçası olarak kullanıcıya bir yapılandırma URL'si döndürün veya aşağıdaki biçimde özel olarak sunun:

{
  "actionResponse": {
    "type": "REQUEST_CONFIG",
    "url": "CONFIGURATION_URL"
  }
}

Bu, Google Chat'e kullanıcıya özel bir istem sunmasını söyler. Burada CONFIGURATION_URL, kullanıcının ek kimlik doğrulama, yetkilendirme veya yapılandırma için ziyaret edeceği bir bağlantıdır. REQUEST_CONFIG yanıtı, normal yanıt mesajıyla karşılıklı olarak hariç tutulur. Metinler, kartlar veya diğer özellikler yoksayılır.

Yapılandırma isteğini tamamlama

Chat uygulamanızın aldığı her MESSAGE, ADDED_TO_SPACE ve APP_COMMAND etkileşim etkinliği, configCompleteRedirectUrl alanını da içerir. Bu URL'yi, işlem tamamlandığında kullanılacak yapılandırma URL'nizde kodlamanız gerekir. Bu URL'ye yönlendirme, yapılandırma isteğinin karşılandığını Google Chat'e bildirir.

Chat uygulamanız başladığında akış, alınan mesaja bağlıdır. @app help gibi bir mesaja yanıt olarak, sohbet uygulaması ek yapılandırma gerektirmeden bir mesajla yanıt vermelidir.

Kullanıcı, orijinal iletide sağlanan configCompleteRedirectUrl adresine başarıyla yönlendirildiğinde Google Chat aşağıdaki adımları uygular:

  1. Başlatan kullanıcıya gösterilen istemi silin.
  2. Orijinal mesajı herkese açık hale getirerek alandaki diğer üyelerin görmesini sağlayabilirsiniz.
  3. Orijinal mesajı aynı Chat uygulamasına ikinci kez gönderin.

configCompleteRedirectUrl ziyaret etmek yalnızca tek bir kullanıcı mesajını etkiler. Bir kullanıcı, Chat uygulamasına birden fazla kez mesaj göndermeyi denediyse ve sonuç olarak birden fazla istem aldıysa belirli bir istemi tıklayıp kimlik doğrulama ve yapılandırma sürecini tamamlaması yalnızca söz konusu mesajı etkiler. Diğer mesajlar değiştirilmez.

Bir MESSAGE etkileşim etkinliği bu şekilde yeniden gönderildiğinde orijinal etkinlikle aynı olmalıdır. Ancak MESSAGE etkileşim etkinliklerinin farklılık gösterebileceği bazı durumlar vardır. Örneğin, bir mesajda hem A sohbet uygulaması hem de B sohbet uygulaması bahsediliyorsa ve A sohbet uygulaması, B sohbet uygulamasıyla kimlik doğrulama yapmadan önce normal bir mesajla yanıt verirse kullanıcı mesajı düzenleyebilir. Bu durumda, kullanıcı kimlik doğrulama ve yapılandırma işlemlerini tamamladıktan sonra B sohbet uygulaması, düzenlenmiş mesaj metnini alır.

Chat kullanıcısının kimliğini Chat dışında doğrulama

Bazı durumlarda (ör. bir API için OAuth yetkilendirmesi istenirken) uygulamanız, kullanıcı kimliğini koruyarak Chat dışındaki bir URL'ye bağlanmalıdır. Bu durumlarda kullanıcıyı tanımlamanın en iyi yolu, hedef uygulamayı Google ile oturum açma ile korumaktır.

Kullanıcı kimliğini almak için oturum açma sırasında verilen kimlik jetonunu kullanın. sub talebi, kullanıcının benzersiz kimliğini içerir ve Google Chat'teki kullanıcı kimliğiyle ilişkilendirilebilir.

bütünlüğünü her zaman doğrulayın.

İki kimlik tam olarak aynı olmasa da zorlanabilir. sub talebinin değerini bir Google Chat users/{user}'e zorlamak için değere users/ ekleyin. Örneğin, 123 talebinin değeri, sohbet uygulamanıza gönderilen mesajlardaki users/123 kullanıcı adına eşdeğerdir.