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

Bu sayfada, bir Google Chat uygulamasını Google Chat dışındaki bir hizmete veya araca nasıl bağlayacağınız açıklanmaktadır. Chat uygulamaları kendi başlarına güçlü olsa da, genellikle diğer sistemlerle uyum içinde çalışır ve hesapları bağlamak, veri erişimini yetkilendirmek, ek veriler görüntülemek veya kullanıcı tercihlerini yapılandırmak için tamamlayıcı uygulamaların kullanılmasını gerektirir.

Bir kullanıcıdan Chat uygulama yapılandırması isteme

İsteği tamamlamak, doğrudan Chat uygulamasında tamamlanamayan ek bir yapılandırma gerektiriyorsa normal bir yanıtın parçası olarak kullanıcıya yapılandırma URL'si döndürün veya isteği gizli olarak sunun. Bunun için aşağıdaki formu kullanın:

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

Bu işlem, Google Chat'e kullanıcıya özel bir istem sunmasını söyler. CONFIGURATION_URL, kullanıcının ek kimlik doğrulama, yetkilendirme veya yapılandırma için ziyaret edebileceği bir bağlantıdır. REQUEST_CONFIG yanıtı, normal yanıt mesajıyla birlikte birbirini dışlar. 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ği bir configCompleteRedirectUrl parametresi de içerir. Bu URL, işlem tamamlandığında kullanılacak yapılandırma URL'nizde kodlanmalıdır. Bu URL'ye yönlendirme, yapılandırma isteğinin yerine getirildiğini Google Chat'e bildirir.

Chat uygulamanız başladığında akış, aldığınız özel mesaja göre değişir. Chat uygulaması, @app help gibi bir mesaja yanıt olarak ek yapılandırma gerekmeden bir mesajla yanıt vermelidir.

Kullanıcı orijinal mesajda 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 alanın diğer üyelerinin görmesini sağlayın.
  3. Orijinal mesajı aynı Chat uygulamasına ikinci kez gönderin.

Bir configCompleteRedirectUrl adresini ziyaret etmek yalnızca tek bir kullanıcı mesajını etkiler. Bir kullanıcı bir Chat uygulamasına birden fazla kez mesaj göndermeyi denediyse ve sonuç olarak birden fazla istem aldıysa belirli bir istemin tıklanması, kimlik doğrulama ve yapılandırma işlemini tamamlamak yalnızca söz konusu mesajı etkiler. Diğer mesajlar değişmez.

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 Chat uygulaması A hem de Chat uygulaması B'den bahsedildiğinde Chat uygulaması A, Chat uygulaması B ile kimlik doğrulaması yapmadan önce normal bir mesajla yanıt verirse kullanıcı mesajı düzenleyebilir. Bu durumda Chat uygulaması B, düzenlenen mesaj metnini kullanıcı kimlik doğrulama ve yapılandırmayı tamamladıktan sonra alır.

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

API için OAuth yetkilendirmesi isteme gibi bazı durumlarda uygulamanızın, kullanıcı kimliğini korurken Chat dışındaki bir URL'ye bağlantı vermesi gerekir. 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.

İki kimlik tam olarak aynı olmasa da zorunlu kılınabilir. Google Chat users/{user} ile ilişkili sub talebinin değerini zorlamak için değerin başına users/ ekleyin. Örneğin, 123 olan hak talebi değeri, Chat uygulamanıza gönderilen mesajlardaki users/123 kullanıcı adına eşdeğerdir.