Kimlik doğrulama ve yetkilendirme işlemleri, sırasıyla kimlik ve kaynaklara erişimi doğrulamak için kullanılan mekanizmalardır. Bu dokümanda, kimlik doğrulama ve yetkilendirmenin Chat uygulamaları ve Chat API istekleri için nasıl çalıştığı açıklanmaktadır.
Sürece genel bakış
Aşağıdaki şemada, Google Chat için kimlik doğrulama ve yetkilendirmenin üst düzey adımları gösterilmektedir:

Bir Google Cloud projesi yapılandırın, Chat API'yi etkinleştirin ve Chat uygulamanızı yapılandırın: Geliştirme sırasında bir Google Cloud projesi oluşturursunuz. Google Cloud projesinde Chat API'yi etkinleştirir, Chat uygulamanızı yapılandırır ve kimlik doğrulamayı ayarlarsınız.
Call API API: Uygulamanız Chat'e REST API'yi çağırdığında (genellikle Google Chat'teki bir kullanıcı uygulamayı mesaj göndererek, bir karttaki düğmeyi tıklayarak veya eğik çizgi komutu vererek) çağırdıktan sonra, kimlik doğrulama kimlik bilgileri Chat API'ye gönderilir. Uygulamanız bir hizmet hesabıyla kimlik doğrulaması yapıyorsa kimlik bilgileri, uygulama kodunun bir parçası olarak gönderilir. Uygulamanızın kullanıcı olarak kimliği doğrulanırsa kullanıcı bir oturum açma istemi alabilir.
Kaynak isteme: Uygulamanız, kimlik doğrulamasını ayarlarken belirttiğiniz kapsamlarla erişim izni ister.
İzin isteyin: Uygulamanızın kullanıcı olarak kimliği doğrulanıyorsa Google, kullanıcının istenen verilere erişmesine izin verip vermeyeceğine karar verebilmesi için bir OAuth izin ekranı görüntüler. Hizmet hesabıyla kimlik doğrulama için kullanıcı izni gerekmez.
Onaylanan kaynaklar için istek gönderme: Kullanıcı yetkilendirme kapsamlarına izin verirse uygulamanız, kimlik bilgilerini ve kullanıcı tarafından onaylanmış kapsamları bir istek altında gruplandırır. İstek, bir erişim jetonu almak için Google yetkilendirme sunucusuna gönderilir.
Google bir erişim jetonu döndürür: Erişim jetonu, izin verilen kapsamların listesini içerir. Döndürülen kapsamlar listesi istenen kapsamlardan daha sınırlıysa uygulamanız, jeton tarafından sınırlanan tüm özellikleri kapatır.
İstenen kaynaklara erişim: Uygulamanız, Chat API'yi çağırmak ve Chat API kaynaklarına erişmek için Google'ın erişim jetonunu kullanır.
Yenileme jetonu alma (isteğe bağlı): Tek bir erişim jetonunun süresinin ardından uygulamanızın Google Chat API'sine erişmesi gerekiyorsa yenileme jetonu alabilir.
Daha fazla kaynak isteğinde bulunma: Uygulamanız daha fazla erişim iznine ihtiyaç duyuyorsa kullanıcıdan yeni kapsamlar vermesini ister. Bu da erişim jetonu almak için yeni bir istekle sonuçlanır (3-6. adımlar).
Chat uygulamaları için kimlik doğrulama gerekli olduğunda
Chat uygulamaları, Google Chat'e eşzamanlı veya eşzamansız olarak mesaj gönderebilir. Ayrıca, kullanıcı adına Chat alanı oluşturma gibi görevleri de tamamlayabilir.
Chat uygulaması bir yanıtı işlerken Chat REST API'yi veya başka bir Google API'sini çağırmadığı sürece eşzamanlı mesajlar için kimlik doğrulama gerekmez.
Eşzamansız mesajlar göndermek veya kullanıcılar adına çalışmak isteyen Chat uygulamaları, Chat REST API'ye RESTful istekleriyle kimlik doğrulama ve yetkilendirme yapılmasını ister.
Eşzamanlı iletiler için kimlik doğrulama gerekmez
Eşzamanlı mesajlar, Chat etkinliklerine verilen yanıtlardır. Google Chat uygulamaları, Chat uygulaması yapılandırma sayfasında yapılandırılıp yayınlandıktan sonra etkinlikleri alıp yanıtlayabilir ve kimlik doğrulama veya yetkilendirme gerektirmez.
Eşzamanlı Chat etkinliklerine örnekler:
- Bir kullanıcı Google Chat'teki bir Chat uygulamasına mesaj gönderir.
- Bir kullanıcı Chat uygulamasından bahsediyor.
- Kullanıcı, Chat uygulamasının eğik çizgi komutlarından birini çağırır.
Aşağıdaki şemada, bir Chat kullanıcısı ile Chat uygulaması arasındaki temel eşzamanlı eşzamanlı yanıt yanıtı dizisi gösterilmektedir:

- Kullanıcı, Google Chat'teki Chat uygulamasına mesaj gönderir.
- Google Chat, mesajı uygulamaya yönlendirir.
- Uygulama mesajı alır, işler ve Google Chat'e yanıt döndürür.
- Google Chat, yanıtı kullanıcı için veya bir alanda oluşturur.
Bu sıra her Chat etkinliği için tekrarlanır.
Eşzamansız iletiler kimlik doğrulama gerektirir
Bir Chat uygulaması, kimlik doğrulama ve yetkilendirme gerektiren Chat REST API'ye bir istek gönderdiğinde, eşzamansız mesajlar ortaya çıkar.
Chat uygulamaları, REST API'yi çağırarak Google Chat'te mesajlar yayınlayabilir veya görevleri tamamlayabilir ve kullanıcı adına verilere erişebilir. Örneğin, bir sunucu uygulaması sunucu kesintisi tespit ettikten sonra Chat API'yi çağırarak şunları yapabilir:
- Kesintiyi araştırmak ve düzeltmek için bir Chat alanı oluşturun.
- Chat alanına kullanıcı ekleyin.
- Kesintiyle ilgili ayrıntıları paylaşmak için Chat alanında bir mesaj yayınlayın.
Aşağıdaki şemada, bir Chat uygulaması ile Chat alanı arasındaki temel eşzamansız mesaj dizisi gösterilmektedir:

- Bir Chat uygulaması, spaces.messages.create yöntemini kullanarak Chat REST API'yi çağırarak bir mesaj oluşturur ve HTTP isteğine hizmet hesabı kimlik bilgilerini ekler.
- Google Chat, hizmet uygulamasını veya kullanıcı kimlik bilgilerini kullanarak Chat uygulamasının kimliğini doğrular.
- Google Chat, uygulamanın mesajını belirli bir Chat alanına oluşturur.
Chat API kapsamları
Uygulamanıza verilen erişim düzeyini tanımlamak için yetkilendirme kapsamlarını tanımlamanız ve bildirmeniz gerekir. Yetkilendirme kapsamı, Google Workspace uygulamasının adını, hangi tür verilere eriştiğini ve erişim düzeyini içeren bir OAuth 2.0 URI dizesidir.
Google Chat aşağıdaki kapsamları destekler:
Google Chat API Kapsamı | Açıklama |
---|---|
https://www.googleapis.com/auth/chat.bot
|
Chat uygulamalarının sohbetleri görüntülemesine ve mesaj göndermesine izin verir. |
https://www.googleapis.com/auth/chat.delete
|
Google Chat'te görüşmeleri ve alanları silme ve ilişkili dosyalara erişimi kaldırma. |
Üyelikler | |
https://www.googleapis.com/auth/chat.memberships
|
Google Chat görüşmelerindeki üyeleri görüntüleme, ekleme ve kaldırma. |
https://www.googleapis.com/auth/chat.memberships.app
|
Chat uygulamasının, Google Chat'teki görüşmelere kendisini ekleyip (diğer uygulamaları değil) kaldırmasına olanak tanır. |
Mesajlar | |
https://www.googleapis.com/auth/chat.messages
|
Google Chat'te mesaj oluşturma, alma, güncelleme, silme ve listeleme. |
https://www.googleapis.com/auth/chat.messages.reactions
|
Google Chat'te mesajlara tepki ekleme, tepkileri görüntüleme ve silme. |
https://www.googleapis.com/auth/chat.messages.reactions.create
|
Google Chat'te mesajlara tepki ekleyin. |
https://www.googleapis.com/auth/chat.messages.reactions.readonly
|
Google Chat'te mesajlara verilen tepkileri görüntüleyin. |
https://www.googleapis.com/auth/chat.messages.readonly
|
Google Chat'te mesajları alabilir ve listeleyebilirsiniz. |
Alanlar | |
https://www.googleapis.com/auth/chat.spaces
|
Google Chat'te görüşmeler ve alanlar oluşturun ve meta verileri (geçmiş ayarları dahil) görüntüleyin veya güncelleyin. |
https://www.googleapis.com/auth/chat.spaces.create
|
Google Chat'te görüşme oluşturun. |
https://www.googleapis.com/auth/chat.spaces.readonly
|
Google Chat'te sohbet ve alanları görüntüleyin. |
Google Workspace API'leri için kapsamlar hakkında daha fazla bilgi edinmek üzere Uygulamanız için kapsam seçme başlıklı makaleyi inceleyin.
Kullanılabilir kapsamların listesi için Google API'leri için OAuth 2.0 Kapsamları'nı inceleyin.
Gerekli kimlik doğrulama türleri
Chat uygulamalarının kimliğini doğrulamak ve Chat API ile yetkilendirme yapmak için kullanabileceğiniz iki yöntem vardır: kullanıcı kimlik bilgileri veya hizmet hesapları.
Kullanıcı kimlik bilgisi yetkilendirmesiyle Chat uygulaması, belirtilen kullanıcı verilerine erişebilir ve kullanıcı adına belirtilen işlemleri tamamlayabilir. Yetkilendirilen veriler ve işlemler, kapsamlar tarafından belirtilir.
Hizmet hesabı yetkilendirmesiyle bir Chat uygulaması, hizmet hesabı kimlik bilgilerini kullanarak uygulama olarak API'ye erişir.
Alan yöneticisiyseniz her kullanıcının izin vermesi gerekmeksizin bir uygulamanın hizmet hesabına kullanıcılarınızın verilerine erişim yetkisi vermek için alan genelinde yetki verme izni verebilirsiniz. Alan genelinde yetkiyi yapılandırdıktan sonra kullanıcı hesaplarını taklit etmek için hizmet hesabınızı kullanarak API çağrıları yapabilirsiniz. Kimlik doğrulama için hizmet hesabı kullanılıyor olsa da, alan genelinde yetki bir kullanıcının kimliğine bürünür ve bu nedenle kullanıcı kimlik doğrulaması olarak kabul edilir. Kullanıcı kimlik doğrulaması gerektiren tüm işlevler için alan genelinde yetkiyi kullanabilirsiniz.
Aşağıdaki tabloda, Chat uygulamalarının karşılaştığı yaygın senaryolar, kimlik doğrulama gerektirip gerektirmedikleri ve gerekliyse listelenmektedir:
Senaryo | Kimlik doğrulama gerekmez | Kullanıcı kimlik doğrulaması destekleniyor | Hizmet hesabı destekleniyor | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Şu kişilerden mesaj alın: |
|
|||||||||||||||
Mesajları yanıtlama: |
|
|||||||||||||||
Yeni mesaj gönderme: |
|
|||||||||||||||
Chat alanı oluşturma: |
|
|||||||||||||||
Chat alanına kullanıcı ve uygulama ekleme: |
|
İlgili kaynaklar
- Google Workspace'te kimlik doğrulama ve yetkilendirmeye genel bir bakış için Google Workspace for Developers'daki Kimlik doğrulama ve yetkilendirme hakkında bilgi edinin.
- Google Cloud'da kimlik doğrulama ve yetkilendirmeye genel bakış için Google Cloud belgelerindeki Kimlik doğrulamaya genel bakış başlıklı makaleyi inceleyin.
- Hizmet hesapları hakkında daha fazla bilgi edinmek için Google Cloud Identity and Access Management (IAM) dokümanlarındaki Service accounts (Hizmet hesapları) bölümüne göz atın.
- Google API'lerinin OAuth 2.0'dan nasıl yararlandığı hakkında daha fazla bilgi edinmek için Google Identity belgelerindeki Google API'lerine Erişmek için OAuth 2.0'ı Kullanma bölümüne bakın.
Sonraki adım
Kullanıcı kimlik bilgileri veya hizmet hesabı ile kimlik doğrulama ve yetkilendirme ayarlarını yapın.