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

Uygulamalar kendi başlarına güçlü olsa da, genellikle diğer sistemlerle uyum içinde çalışırlar ve tamamlayıcı uygulamaların hesapları bağlamasını, veri erişimini yetkilendirmesini, ek verileri görüntülemesini veya kullanıcı tercihlerini yapılandırmasını gerektirir.

Uygulama yapılandırması isteyin

Uygulamalar, URL'leri normal bir yanıtın parçası olarak sunmaya ek olarak, bir iletiye yanıt olarak kullanıcıya gizli bir yapılandırma URL'si de sunabilir.

Yapılandırma URL'si döndürme

İsteğin tamamlanabilmesi için doğrudan uygulamada tamamlanamayan bir ek yapılandırma gerekiyorsa aşağıdaki formun yanıtını döndürün:

{
  "actionResponse": {
    "type": "REQUEST_CONFIG",
    "url": "<your-config-URL>"
  }
}

Bu işlem, Google Chat'e kullanıcıya özel bir istem sunmasını ve kimlik doğrulama, yetkilendirme veya yapılandırma için sağlanan yapılandırma URL'sini ziyaret edebileceği bir bağlantı sunmasını söyler. İstek yapılandırması yanıtı, normal bir yanıt mesajıyla birlikte kullanılamaz. Metinler, kartlar veya diğer özellikler yoksayılır.

Kullanıcıdan bir yapılandırma URL&#39;si sağlamasını isteyen uygulama.

Uygulamanızdaki her etkinlik 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önlendirildiğinde, yapılandırma isteğinin yerine getirildiği Google Chat'e bildirilir.

Uygulamanızın başlangıç zamanı, alınan belirli mesaja bağlı olarak değişebilir. Bir uygulama, @app help gibi bir mesaja yanıt olarak, ek yapılandırma gerektirmeden bir mesajla yanıt vermelidir.

Bir kullanıcı orijinal mesajda belirtilen configCompleteRedirectUrl alanına başarıyla yönlendirildiğinde Google Chat aşağıdaki adımları gerçekleştirir:

  1. İşlemi başlatan kullanıcıya gösterilen istemi silin
  2. Orijinal mesajı herkese açık hale getirerek alanın diğer üyeleri tarafından görülebilir
  3. Orijinal mesajı ikinci kez aynı uygulamaya gönder

Bir configCompleteRedirectUrl ziyaret edildiğinde yalnızca tek bir kullanıcı mesajı etkilenir. Kullanıcı bir uygulamaya birden fazla mesaj göndermeyi denediyse ve bunun sonucunda birden çok istem aldıysa belirli bir istemi tıklayıp yetkilendirme / yapılandırma işlemini tamamlama, yalnızca o mesajı / isteği gösterir. Diğer mesajlar ve istemler değişmez.

Bir etkinlik bu şekilde yeniden gönderildiğinde, etkinlik orijinal etkinlikle aynı olmalıdır. Ancak bazı durumlarda etkinlikler farklılık gösterebilir. Örneğin, bir mesaj hem A hem de B uygulamasından bahsedildiğinde, A uygulaması B uygulamasından kimlik doğrulama yapmadan önce normal bir mesajla yanıt verirse kullanıcı mesaj metnini düzenleyebilir. Bu durumda, kullanıcı kimlik doğrulamasını tamamladıktan sonra B uygulaması, düzenlenen mesaj metnini alır.

Uygulama mesajlarında kullanıcıyı tanımlama

Uygulamanıza gönderilen her mesaj, uygulamayla etkileşimde bulunan kullanıcının kimliğini içerir.

Aşağıdaki örnek JSON parçası, uygulamanıza gönderilen bir mesajda kullanıcı kimliğinin beklenen biçimini gösterir.

{
  ...,
  "user": {
    "name": "users/12345678901234567890",
    "displayName": "Sasha",
    "avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
    "email": "sasha@example.com"
  }
}

users.name mülkünün değerini, kullanıcının birincil kimliği olarak kullanın. Değer, her kullanıcı için sabit ve benzersiz bir kimliktir.

Google Chat dışındaki Chat kullanıcılarını belirleme

API için OAuth yetkilendirmesi isteme gibi bazı durumlarda, uygulamanızın kullanıcı kimliğini korurken Google Chat dışındaki bir URL'ye bağlantı vermesi gerekir. Bu gibi durumlarda kullanıcıyı belirlemenin en iyi yolu, Google ile Oturum Açma özelliğiyle hedef uygulamayı korumaktır.

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

İki kimlik tam olarak aynı olmasa da kolayca ulaşılabilir. sub hak talebinin değerini bir Google Chat kullanıcı adına zorlamak için değerin başına "users/" ekleyin. Örneğin, 123 değerindeki hak talebi değeri, Chat uygulamanıza gelen mesajlardaki users/123 kullanıcı adıyla eşdeğerdir.

Tam Örnek

MyProfile uygulaması, uygulama yapılandırmasını başlatmak için REQUEST_CONFIG yanıtının nasıl kullanılacağını ve kullanıcıyı tanımlamak için Google ile Oturum Açma yanıtındaki kimlik jetonunun nasıl kullanılacağını gösterir.