Chat uygulamaları ve Google Chat API isteklerinin kimliğini doğrulama ve yetkilendirme

Kimlik doğrulama ve yetkilendirme, kullanıcıların kimliğini doğrulamak ve kaynaklara erişim sahibi olmanız gerekir. Bu dokümanda kimlik doğrulama ve Chat uygulamaları ve Chat API istekleri için yetkilendirme işi.

Sürece genel bakış

Aşağıdaki şemada üst düzey kimlik doğrulama adımları ve Google Chat için yetkilendirme:

Google Chat kimlik doğrulaması ve yetkilendirmesi için üst düzey adımlar
Şekil 1. Google Chat kimlik doğrulaması ve yetkilendirmesi için üst düzey adımlar.

  1. Bir Google Cloud projesi yapılandırın, Chat API'yi etkinleştirin ve Chat uygulaması: Geliştirme sırasında Google Cloud projesi. Google Cloud projesinde Chat API'yi etkinleştirirsiniz. Chat uygulamanızı yapılandırabilir ve kimlik doğrulamayı kurabilirsiniz. Daha fazla bilgi için bkz. Google Workspace'te geliştirme ve Chat uygulaması oluşturun.

  2. Call Chat API: Uygulamanız Chat API, kimlik doğrulama bilgilerini şuraya gönderir: Chat API'ye gidin. Eğer bir hizmet hesabıyla kimlik doğrulaması yapıldığında kimlik bilgileri uygulamanızın kodunun bir bölümüdür. Uygulamanız Chat API'nin çağrılmasını gerektiriyorsa bir kullanıcının henüz verilmemiş kimlik doğrulamasını kullanarak kullanıcının oturum açmasını isteyin.

  3. Kaynak isteme: Uygulamanız kapsamlar belirlediğiniz e-posta adresini kullanabilirsiniz.

  4. İzin isteyin: Uygulamanızın kimliği kullanıcı olarak doğrulanıyorsa Google Kullanıcının uygulamanıza izin verip vermemeye karar verebilmesi için bir OAuth izin ekranı istenen verilere erişebilir. Bir hizmet hesabıyla kimlik kullanıcı izni gerektirir.

  5. Kaynaklar için onaylanmış istek gönder: Kullanıcı, yetkilendirme kapsamlarının yanı sıra uygulamanız, kimlik bilgilerini ve kullanıcı onaylı kapsam dâhildir. İstek, Google yetkilendirme sunucusuna gönderilir .

  6. Google bir erişim jetonu döndürür: Erişim jetonu, izin verir. Döndürülen kapsam listesi uygulamanız, jeton tarafından sınırlandırılan tüm özellikleri devre dışı bırakır.

  7. İstenen kaynaklara erişim: Uygulamanız, şu işlemler için Google'ın erişim jetonunu kullanır: Chat API'yi çağırmak ve Chat API kaynaklarına erişmek.

  8. Yenileme jetonu alma (isteğe bağlı): Uygulamanızın Google Chat API'de tek bir erişim jetonunun geçerlilik süresi sona erdiğinde, yenileme jetonuna dokunun. Daha fazla bilgi için bkz. Google API'lerine erişmek için OAuth 2.0'ı kullanın.

  9. Daha fazla kaynak isteme: Uygulamanızın daha fazla erişime ihtiyacı varsa kullanıcıdan Bu durumda yeni kapsamlar verilir ve yeni bir erişim jetonu almak için istek görüntülenir. (3-6. adımlar).

Chat uygulamaları için kimlik doğrulama gerektiğinde

Chat uygulamaları, kullanıcı etkileşimine yanıt olarak mesaj gönderebilir veya eşzamansız olarak ayarlayabilirsiniz. Ayrıca kullanıcı adına şu gibi görevleri de gerçekleştirebilirler: Chat alanı oluşturarak veya Chat alanı

Chat uygulamaları, Chat uygulaması Chat API veya başka bir Google API'si yanıt işleme.

Eşzamansız iletiler göndermek veya bir kullanıcı adına görev gerçekleştirmek için: Chat uygulamaları, Chat API Bu da kimlik doğrulama ve yetkilendirme gerektirir.

Kullanıcı etkileşimlerine verilen yanıtlar için kimlik doğrulama gerekmez

Google Chat uygulamalarının kullanıcı olarak kimlik doğrulaması gerekmez veya Eşzamanlı olarak almak ve yanıt vermek için Chat uygulaması etkileşim etkinliklerini inceleyin.

Google Chat uygulamaları, bir kullanıcı etkileşimde bulunduğunda veya Aşağıdakiler de dahil olmak üzere bir Chat uygulamasını çağırır:

  • Kullanıcı bir Chat uygulamasına mesaj gönderir.
  • Kullanıcı bir Chat uygulamasından @bahseder.
  • Kullanıcı, Chat uygulamasının eğik çizgiyle başlayan komutlar.

Aşağıdaki şemada, e-posta adresi ile Chat kullanıcısı ve Chat uygulaması:

Chat uygulaması etkileşim etkinlikleri için yetkilendirme gerekmez
Şekil 2.Chat uygulaması etkileşim etkinlikleri kimlik doğrulama gerektirmez.

  1. Kullanıcı, Chat uygulamasına şurada mesaj gönderir: Google Chat
  2. Google Chat, mesajı uygulamaya yönlendirir.
  3. Uygulama mesajı alır, işler ve Google Chat
  4. Google Chat, yanıtı kullanıcı için veya bir alanda oluşturur.

Bu adım sırası her Chat uygulaması etkileşimi için tekrarlanır unutmayın.

Eşzamansız mesajlar için kimlik doğrulama gerekir

Eşzamansız mesajlar, Chat uygulaması isteği gönderen Chat API Bu da kimlik doğrulama ve yetkilendirme gerektirir.

Chat uygulamaları, Chat API'yi çağırarak mesaj yayınlayabilir Google Chat'e aktarabilir ya da kullanıcı adına görevleri tamamlayabilir ve verilere erişebilir. Örneğin, bir Chat uygulaması, sunucu kesintisi tespit ettikten sonra Chat API'sini şuraya aktar:

  • Sorunu araştırmak ve düzeltmek için özel olarak bir Chat alanı oluşturun olabilir.
  • Chat alanına kullanıcı ekleyin.
  • Chat alanında şu konuyla ilgili ayrıntılı bilgi vermek için bir mesaj yayınlayın: olabilir.

Aşağıdaki şemada, bir ileti dizisi ile Chat uygulaması ve Chat alanı:

Eşzamansız mesajlar için kimlik doğrulaması gerekir
Şekil 3. Eşzamansız mesajlar için kimlik doğrulama gerekir.

  1. Bir Chat uygulaması Şunu kullanan Chat API'si: spaces.messages.create yöntem, ve HTTP isteğine kullanıcı kimlik bilgilerini ekler.
  2. Google Chat, Chat uygulamasının kimliğini şu bilgilerle doğrular: hizmet hesabı veya kullanıcı kimlik bilgileri.
  3. Google Chat, uygulamanın mesajını belirli bir Chat'e oluşturur boşluk oluşturur.

Chat API kapsamları

OAuth izin ekranını yapılandırma ve kapsamları seçme kullanıcılara ve uygulama incelemecilerine hangi bilgilerin görüntüleneceğini tanımlamak ve böylece daha sonra yayınlayabilirsiniz.

Uygulamanıza verilen erişim düzeyini tanımlamak için aşağıdakileri yapmanız gerekir: yetkilendirme kapsamlarını beyan etmeniz gerekir. Yetkilendirme kapsamı, OAuth 2.0 URI'sidir. Google Workspace uygulama adını içeren bir dize, ne tür veriler ve erişim düzeyidir.

Hassas olmayan kapsamlar

Kapsam kodu Açıklama
https://www.googleapis.com/auth/chat.bot

chat.bot kapsamı yalnızca hizmet hesaplarını destekler. Siz Kullanıcı kimlik bilgileriyle veya alan genelinde yetki birkaç önerimiz var.

Chat uygulamalarının sohbetleri görüntülemesine ve mesaj göndermesine izin verir. Verir Chat uygulamalarında kullanılabilen tüm özelliklere erişebilir.

Hassas kapsamlar

Kapsam kodu Açıklama
https://www.googleapis.com/auth/chat.spaces Görüşmeler ve alanlar oluşturma, meta verileri görme veya düzenleme ( geçmiş ayarları ve erişim ayarları) ayarlarını yapabilir.
https://www.googleapis.com/auth/chat.spaces.create Chat'te yeni görüşmeler oluşturabilirsiniz.
https://www.googleapis.com/auth/chat.spaces.readonly Chat'te sohbeti ve alanları görüntüleyin.
https://www.googleapis.com/auth/chat.memberships Chat'teki görüşmelerde üyeleri görüntüleme, ekleme, güncelleme veya kaldırma.
https://www.googleapis.com/auth/chat.memberships.app Kendisini Google Chat'teki görüşmelere ekleme ve görüşmelerden kaldırma.
https://www.googleapis.com/auth/chat.memberships.readonly Chat görüşmelerindeki üyeleri görüntüleme.
https://www.googleapis.com/auth/chat.messages.create Chat'te mesaj oluşturma ve gönderme.
https://www.googleapis.com/auth/chat.messages.reactions Chat'te mesajlara tepkileri görüntüleyin, ekleyin ve silin.
https://www.googleapis.com/auth/chat.messages.reactions.create Chat'te bir mesaja tepki ekleyebilirsiniz.
https://www.googleapis.com/auth/chat.messages.reactions.readonly Chat'te bir mesaja verilen tepkileri görüntüleyin.
https://www.googleapis.com/auth/chat.users.readstate Chat görüşmelerinin son okunma zamanını görüntüleme ve değiştirme.
https://www.googleapis.com/auth/chat.users.readstate.readonly Chat görüşmelerinin son okunma zamanını görüntüleyin.
https://www.googleapis.com/auth/chat.admin.spaces.readonly Chat'te yöneticinin alanına ait sohbetleri ve alanları görüntüleme.
https://www.googleapis.com/auth/chat.admin.spaces Chat'te yöneticinin alanına ait sohbetleri ve alanları görüntüleme veya düzenleme.
https://www.googleapis.com/auth/chat.admin.memberships.readonly Chat'te yönetici alanına ait görüşmelerdeki üyeleri ve yöneticileri görüntüleme.
https://www.googleapis.com/auth/chat.admin.memberships Chat'te yöneticinin alanına ait görüşmelerdeki üyeleri ve yöneticileri görüntüleme, ekleme, güncelleme ve kaldırma.

Kısıtlanmış kapsamlar

Kapsam kodu Açıklama
https://www.googleapis.com/auth/chat.delete Görüşmeleri ve alanları silin ve ilişkili dosyalara erişimi kaldırın Chat'te bulabilirsiniz.
https://www.googleapis.com/auth/chat.import Alanları, mesajları ve üyelikleri Chat'e aktarın. Örneğin, daha fazla bilgi için Chat uygulamalarını veri içe aktarması için yetkilendirme
https://www.googleapis.com/auth/chat.messages İletileri görüntüleme, oluşturma, gönderme, güncelleme, silme, ayrıca ekleme, görüntüleme ve Mesajlara verilen tepkileri silme
https://www.googleapis.com/auth/chat.messages.readonly Chat'te mesajları ve tepkileri görüntüleyin.
https://www.googleapis.com/auth/chat.admin.delete Yöneticinin alanına ait görüşmeleri ve alanları silme ve ilişkili dosyalara erişimi kaldırma Chat'te bulabilirsiniz.

Yukarıdaki tablolarda yer alan kapsamlar, şu tanımlar:

Uygulamanız diğer Google API'lerine erişim gerektiriyorsa bu kapsamları ekleyebilirsiniz de faydalı olabilir. Google API kapsamları hakkında daha fazla bilgi için Aşağıdaki işlemleri gerçekleştirmek için OAuth 2.0'ı kullanma: Google API'lerine erişme

Google Workspace API'lerine yönelik kapsamlar hakkında daha fazla bilgi için şu makaleyi inceleyin: OAuth izin ekranını yapılandırın ve kapsamları seçin.

Gerekli kimlik doğrulama türleri

Chat uygulamaları iki şekilde kimlik doğrulaması ve yetkilendirme yapabilir: Chat API: kullanıcı kimlik bilgileri veya hizmet hesapları.

Kullanıcı kimlik bilgisi yetkilendirmesi ile Chat uygulamaları şunları yapabilir: kullanıcı verilerine erişebilir ve kullanıcı adına işlem yapabilir. OAuth kapsamları, yetkilendirilen verileri ve işlemleri belirtir.

Uygulama yetkilendirmesi ile bir Chat uygulaması API'yi uygulama olarak ayarlayın. Uygulama yetkilendirmesi her zaman chat.bot yetkilendirme kapsamını kullanır.

Belirli bir API isteği için hangi kimlik bilgilerinin kullanılacağına karar verirken bazı API yöntemlerinin yalnızca kimlik bilgisi. Bir API yöntemi her iki kimlik bilgisini de destekliyorsa kimlik bilgisinin türü çağrıda kullanılan, döndürülen sonucu etkiler:

  • Uygulama yetkilendirmesi ile, bu yöntemler yalnızca uygulamanın erişim.
  • Kullanıcı yetkilendirmesiyle bu yöntemler yalnızca kullanıcının erişebilir.

Örneğin, uygulama yetkilendirmesiyle ListSpaces yönteminin çağrılması Uygulamanın üyesi olduğu alanların listesi. Kullanıcıyla birlikte ListSpaces aranıyor yetkilendirme, kullanıcının üyesi olduğu alanların listesini döndürür. İçinde kullanıyorsanız, uygulamanız Chat API (istediğiniz işleve bağlı olarak)

Eşzamansız Chat API çağrıları için

Aşağıdaki tabloda Chat API yöntemleri ve desteklenen yöntemleri listelenmiştir yetkilendirme kapsamları:

Yöntem Kullanıcı kimlik doğrulaması desteklenir Uygulama kimlik doğrulaması desteklenir Desteklenen yetkilendirme kapsamları
Alanlar  
Alan oluşturma Kullanıcı kimlik doğrulaması ile:
  • chat.spaces.create
  • chat.spaces
  • chat.import
Alan oluşturma Kullanıcı kimlik doğrulaması ile:
  • chat.spaces.create
  • chat.spaces
Alan satın alma Kullanıcı kimlik doğrulaması ile:
  • chat.spaces.readonly
  • chat.spaces
Uygulama kimlik doğrulaması ile:
  • chat.bot
Yönetici ayrıcalıklarını kullanarak kullanıcı kimlik doğrulaması yapıldığında:
  • chat.admin.spaces.readonly
Alanları listeleme Kullanıcı kimlik doğrulaması ile:
  • chat.spaces.readonly
  • chat.spaces
Uygulama kimlik doğrulaması ile:
  • chat.bot
Alan arayın Yönetici ayrıcalıklarını kullanarak kullanıcı kimlik doğrulaması yapıldığında:
  • chat.admin.spaces.readonly
Alan güncelleme Kullanıcı kimlik doğrulaması ile:
  • chat.spaces
  • chat.import
Yönetici ayrıcalıklarını kullanarak kullanıcı kimlik doğrulaması yapıldığında:
  • chat.admin.spaces
Alan silme Kullanıcı kimlik doğrulaması ile:
  • chat.delete
  • chat.import
Yönetici ayrıcalıklarını kullanarak kullanıcı kimlik doğrulaması yapıldığında:
  • chat.admin.delete
Alan için içe aktarma işlemini tamamlama Kullanıcı kimlik doğrulaması ile:
  • chat.import
Doğrudan mesajları bulma Kullanıcı kimlik doğrulaması ile:
  • chat.spaces.readonly
  • chat.spaces
Uygulama kimlik doğrulaması ile:
  • chat.bot
Üyeler  
Üye oluşturma Kullanıcı kimlik doğrulaması ile:
  • chat.memberships
  • chat.memberships.app
  • chat.import
Yönetici ayrıcalıklarını kullanarak kullanıcı kimlik doğrulaması yapıldığında:
  • chat.admin.memberships
Üye olun Kullanıcı kimlik doğrulaması ile:
  • chat.memberships.readonly
  • chat.memberships
Uygulama kimlik doğrulaması ile:
  • chat.bot
Yönetici ayrıcalıklarını kullanarak kullanıcı kimlik doğrulaması yapıldığında:
  • chat.admin.memberships.readonly
Liste üyeleri Kullanıcı kimlik doğrulaması ile:
  • chat.memberships.readonly
  • chat.memberships
  • chat.import
Uygulama kimlik doğrulaması ile:
  • chat.bot
Yönetici ayrıcalıklarını kullanarak kullanıcı kimlik doğrulaması yapıldığında:
  • chat.admin.memberships.readonly
Üye silme Kullanıcı kimlik doğrulaması ile:
  • chat.memberships
  • chat.memberships.app
  • chat.import
Yönetici ayrıcalıklarını kullanarak kullanıcı kimlik doğrulaması yapıldığında:
  • chat.admin.memberships
Üye güncelleme Kullanıcı kimlik doğrulaması ile:
  • chat.memberships
  • chat.import
Yönetici ayrıcalıklarını kullanarak kullanıcı kimlik doğrulaması yapıldığında:
  • chat.admin.memberships
Mesajlar  
Mesaj oluşturma Kullanıcı kimlik doğrulaması ile:
  • chat.messages.create
  • chat.messages
  • chat.import
Uygulama kimlik doğrulaması ile:
  • chat.bot
Mesaj alma Kullanıcı kimlik doğrulaması ile:
  • chat.messages.readonly
  • chat.messages
Uygulama kimlik doğrulaması ile:
  • chat.bot
Liste mesajları Kullanıcı kimlik doğrulaması ile:
  • chat.messages.readonly
  • chat.messages
  • chat.import
Mesaj güncelleme Kullanıcı kimlik doğrulaması ile:
  • chat.messages
  • chat.import
Uygulama kimlik doğrulaması ile:
  • chat.bot
Mesaj silme Kullanıcı kimlik doğrulaması ile:
  • chat.messages
  • chat.import
Uygulama kimlik doğrulaması ile:
  • chat.bot
Tepkiler  
Tepki oluşturma Kullanıcı kimlik doğrulaması ile:
  • chat.messages.reactions.create
  • chat.messages.reactions
  • chat.messages
  • chat.import
Tepkileri listeleme Kullanıcı kimlik doğrulaması ile:
  • chat.messages.reactions.readonly
  • chat.messages.reactions
  • chat.messages.readonly
  • chat.messages
Tepkiyi silme Kullanıcı kimlik doğrulaması ile:
  • chat.messages.reactions
  • chat.messages
  • chat.import
Medya ve ek  
Medyayı dosya eki olarak yükleme Kullanıcı kimlik doğrulaması ile:
  • chat.messages.create
  • chat.messages
  • chat.import
Medyayı indirin Kullanıcı kimlik doğrulaması ile:
  • chat.messages.readonly
  • chat.messages
Uygulama kimlik doğrulaması ile:
  • chat.bot
Mesaj eki alma Uygulama kimlik doğrulaması etkinken:
  • chat.bot
Kullanıcı okuma durumları
Kullanıcının alan okuma durumunu öğrenme Kullanıcı kimlik doğrulaması ile:
  • chat.users.readstate
  • chat.users.readstate.readonly
Kullanıcının alanın okunma durumunu güncelleme Kullanıcı kimlik doğrulaması ile:
  • chat.users.readstate
Bir kullanıcının ileti dizisi okunma durumunu alma Kullanıcı kimlik doğrulaması ile:
  • chat.users.readstate
  • chat.users.readstate.readonly
Alan etkinlikleri
Alan etkinlikleri alma 'nı inceleyin. Kullanıcı kimlik doğrulaması ile:
  • chat.messages
  • chat.messages.readonly
  • chat.messages.reactions
  • chat.messages.reactions.readonly
  • chat.memberships
  • chat.memberships.readonly
  • chat.spaces
  • chat.spaces.readonly
Alan etkinliklerini listeleyin 'nı inceleyin. Kullanıcı kimlik doğrulaması ile:
  • chat.messages
  • chat.messages.readonly
  • chat.messages.reactions
  • chat.messages.reactions.readonly
  • chat.memberships
  • chat.memberships.readonly
  • chat.spaces
  • chat.spaces.readonly

Chat uygulaması etkileşim etkinlikleri için

Aşağıdaki tabloda, kullanıcıların Chat uygulamalarıyla etkileşime geçtiği yaygın yöntemler ve kimlik doğrulamanın zorunlu olup olmadığı veya desteklenip desteklenmediği açıklanmıştır:

Senaryo Kimlik doğrulama gerekmez. Kullanıcı kimlik doğrulaması desteklenir Uygulama kimlik doğrulaması desteklenir
Şu kişilerden mesaj al:
Chat uygulaması etkileşimi etkinlikleri
Apps Komut Dosyası geri çağırma işlevleri
Google Cloud Pub/Sub
Mesajları yanıtlama:
Chat uygulaması etkileşim etkinliğini kullanarak eşzamanlı olarak
Eşzamanlı olarak, bir Apps Komut Dosyası geri çağırması kullanıldığında döndürülen değer
Yeni mesaj gönderme:
Gelen webhook'lar dahil