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

Bu sayfada, bir Google Chat uygulamasının Google Chat dışındaki bir hizmete veya araca nasıl bağlanacağı açıklanmaktadır. Chat uygulamaları kendi başlarına güçlü olsa da genellikle diğer sistemlerle birlikte çalışır ve hesapları bağlamak, veri erişimine yetki vermek, ek verileri görüntülemek veya kullanıcı tercihlerini yapılandırmak için tamamlayıcı uygulamalara ihtiyaç duyar.

Ön koşullar

Etkileşimli özellikler için etkinleştirilmiş 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ıç kılavuzlarından birini tamamlayın:

Kullanıcıdan Chat uygulaması yapılandırmasını isteme

Bir isteğin tamamlanması için doğrudan Chat uygulamasında yapılamayan ek yapılandırma gerekiyorsa normal bir yanıtın 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 gizli bir istem göstermesini söyler. Bu istemde CONFIGURATION_URL, kullanıcının ek kimlik doğrulama, yetkilendirme veya yapılandırma için ziyaret etmesi gereken bir bağlantıdır. REQUEST_CONFIG yanıtı, normal bir yanıt mesajıyla birbirini hariç tutar. Metinler, kartlar veya diğer özellikler yoksayılır.

Yapılandırma isteğini tamamlama

Chat uygulamanızın aldığı her MESSAGE etkileşim etkinliğiconfigCompleteRedirectUrl alanını da içerir. İşlemin tamamlanmasının ardından kullanılacak bu URL'yi yapılandırma URL'nize kodlamanız gerekir. Bu URL'ye yönlendirme, Google Chat'e yapılandırma isteğinin yerine getirildiğini bildirir.

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

Bir kullanıcı, orijinal mesajda sağlanan configCompleteRedirectUrl adresine başarıyla yönlendirildiğinde Google Chat aşağıdaki adımları gerçekleştirir:

  1. İsteği başlatan kullanıcıya gösterilen isteği silin.
  2. Orijinal mesajı herkese açık hale getirerek alanın diğer üyelerinin görmesini sağlayabilirsiniz.
  3. Orijinal mesajı aynı Chat uygulamasına ikinci kez gönderin.

configCompleteRedirectUrl ziyareti yalnızca tek bir kullanıcı mesajını etkiler. Bir kullanıcı bir Chat uygulamasına birden fazla kez mesaj göndermeye çalıştıysa ve bunun sonucunda birden fazla istem aldıysa belirli bir istemi tıklayıp kimlik doğrulama ve yapılandırma sürecini tamamlamak yalnızca söz konusu mesajı etkiler. Diğer mesajlarda değişiklik yapılmaz.

Bu şekilde yeniden gönderilen bir MESSAGE etkileşim etkinliği, orijinal etkinlikle aynı olmalıdır. Ancak MESSAGE etkileşim etkinliklerinin farklı olabileceği bazı durumlar vardır. Örneğin, bir mesajda hem A Chat uygulaması hem de B Chat uygulamasından bahsediliyor olabilir. A Chat uygulaması, B Chat uygulamasıyla kimlik doğrulamadan önce normal bir mesajla yanıt verirse kullanıcı mesajı düzenleyebilir. Bu durumda, kullanıcı kimlik doğrulama ve yapılandırmayı 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

Bir API için OAuth yetkilendirmesi istemek gibi bazı durumlarda, uygulamanızın kullanıcı kimliğini korurken Chat dışındaki bir URL'ye bağlantı vermesi gerekir. Bu gibi 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 iddiası, kullanıcının benzersiz kimliğini içerir ve Google Chat'teki kullanıcı kimliğiyle ilişkilendirilebilir.

İki kimlik tam olarak aynı olmasa da zorlama yapılabilir. sub iddiasının değerini Google Chat users/{user} olarak zorlamak için değere users/ ön ekleyerek ekleyin. Örneğin, 123 hak talebi değeri, Chat uygulamanıza gönderilen mesajlardaki users/123 kullanıcı adına eşdeğerdir.