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:
- Başlatan kullanıcıya gösterilen istemi silin.
- Orijinal mesajı herkese açık hale getirerek alanın diğer üyelerinin görmesini sağlayın.
- 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.
İlgili konular
- MyProfile uygulama örneği, kullanıcıyı tanımlamak için Google ile Oturum Açma yanıtındaki kimlik jetonunu kullanır.