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ü olsalar da genellikle diğer sistemlerle birlikte çalışır ve hesapları bağlamak, veri erişimini yetkilendirmek, ek verileri görüntülemek 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:- Google Cloud Functions ile HTTP hizmeti
- Google Apps Komut Dosyası
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
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 dışlayıcıdır. 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, Google Chat'e yapılandırma isteğinin karşılandığını 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 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 alandaki diğer üyelerin görmesini sağlayabilirsiniz.
- Orijinal mesajı aynı Chat uygulamasına ikinci kez gönderme
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.
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.
İ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.
İlgili konular
- Kullanıcı etkileşimlerini alma ve yanıtlama
- MyProfile uygulama örneği, kullanıcıyı tanımlamak için Google ile giriş yapma yanıtındaki kimlik jetonunu kullanır.