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ığı özetlenmiştir.
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.
Chat API'ye çağrı yapma: Uygulamanız Chat Google REST API'yi çağırdığında (genellikle Google Chat'teki bir kullanıcı uygulamayı mesajla, karttaki bir düğmeyi tıklayarak veya eğik çizgi komutu vererek) çağırdıktan sonra Chat API'ye kimlik doğrulama bilgileri gönderir. Uygulamanız bir hizmet hesabıyla kimlik doğrulaması yapıyorsa kimlik bilgileri, uygulamanızın 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ğrulama ayarlarını yaparken 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 vermemeye karar verebilmesi için bir OAuth izin ekranı görüntüler. Hizmet hesabıyla kimlik doğrulama için kullanıcı izni gerekmez.
Kaynaklar için onaylı istek gönderme: Kullanıcı yetkilendirme kapsamlarını kabul ederse uygulamanız, kimlik bilgilerini ve kullanıcı tarafından onaylanan kapsamları bir istekte 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, verilen kapsamların listesini içerir. Döndürülen kapsam listesi, istenen kapsamlardan daha sınırlıysa uygulamanız jeton tarafından sınırlanan ö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ı): Uygulamanızın tek bir erişim jetonunun ömründen sonra Google Chat API'ye erişmesi gerekiyorsa yenileme jetonu alabilir.
Daha fazla kaynak isteyin: Uygulamanız daha fazla erişime ihtiyaç duyuyorsa, kullanıcıdan yeni kapsamlar vermesini isteyerek erişim jetonu almayla ilgili yeni bir istek oluşturur (3.-6. adımlar).
Chat uygulamaları kimlik doğrulaması gerektirdiğinde
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 tamamlayabilirler.
Chat uygulaması bir yanıtı işlerken Chat REST API'yi veya başka bir Google API'sini çağırmadığı sürece eşzamanlı mesajlarda kimlik doğrulama gerekmez.
Eşzamansız mesajlar göndermek veya bir kullanıcı adına çalışmak için Chat uygulamaları, Chat REST API'ye RESTful isteklerinde bulunur. Bu istekler için kimlik doğrulama ve yetkilendirme gerekir.
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 alabilir ve yanıtlayabilir. Ayrıca, 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.
- Bir kullanıcı, Chat uygulamasının eğik komutlardan birini çağırır.
Aşağıdaki şemada, bir Chat kullanıcısı ile Chat uygulaması arasındaki temel eşzamanlı istek yanıt yanıtı dizisi gösterilmektedir:
- Kullanıcı, Google Chat'teki Chat uygulamasına bir mesaj gönderir.
- Google Chat, mesajı uygulamaya yönlendirir.
- Uygulama, mesajı alır, işler ve Google Chat'e yanıt gönderir.
- Google Chat, yanıtı kullanıcı için veya bir alanda oluşturur.
Bu adım, her Chat etkinliği için tekrar eder.
Eşzamansız iletiler kimlik doğrulama gerektiriyor
Eşzamansız mesajlar, bir Chat uygulaması kimlik doğrulama ve yetkilendirme gerektiren Chat REST API'ye istek gönderdiğinde oluşur.
Chat uygulamaları, REST API'yi çağırarak Google Chat'te mesaj yayınlayabilir veya görevleri tamamlayabilir ve kullanıcı adına verilere erişebilir. Örneğin, bir sunucu uygulaması algılandıktan sonra Chat uygulaması, Chat API'yi çağırarak:
- Kesintileri araştırmak ve düzeltmek için Chat alanı oluşturun.
- Chat alanına kullanıcı ekleyin.
- Kesinti hakkında ayrıntılı bilgi vermek 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:
- 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, Chat uygulamasının kimliğini hizmet hesabı veya kullanıcı kimlik bilgileriyle doğrular.
- Google Chat, uygulamanın mesajını belirli bir Chat alanında oluşturur.
Chat API kapsamları
Uygulamanıza verilen erişim düzeyini tanımlamak için yetkilendirme kapsamlarını tanımlamanız ve belirtmeniz 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|


||Chat uygulamalarının sohbetleri görüntülemesine ve mesaj göndermesine izin verir.|


||Google Chat'te görüşmeleri ve alanları silebilir, ilişkili dosyalara erişimi kaldırabilirsiniz.|
|Üyelikler|


||Google Chat görüşmelerindeki üyeleri görüntüleme, ekleme ve kaldırma.|


||Chat uygulamasının, kendisinin (diğer uygulamaları değil) Google Chat'teki görüşmelere eklenmesine ve görüşmelerden kaldırılmasına olanak tanır.|
|Mesajlar|


||Google Chat'te mesaj oluşturma, alma, güncelleme, silme ve listeleme.|


||Google Chat'te mesajlara tepki ekleme, tepkileri görüntüleme ve silme.|


||Google Chat'te mesajlara tepki ekleme.|


||Google Chat'te mesajlara verilen tepkileri görüntüleyin.|


||Google Chat'te mesajları alma ve listeleme.|
|Alanlar|


||Google Chat'te görüşmeler ve alanlar oluşturun ve meta verileri (geçmiş ayarları dahil) görüntüleyin veya güncelleyin.|


||Google Chat'te görüşmeler oluşturun.|


||Google Chat'te sohbeti ve alanları görüntüleyin.|
Google Workspace API'leri için kapsamlar hakkında daha fazla bilgi edinmek üzere Uygulamanız için kapsamları seçme bölümünü inceleyin.
Kullanılabilir kapsamların listesi için Google API'leri için OAuth 2.0 Kapsamları'na bakın.
Gerekli kimlik doğrulama türleri
Chat uygulamalarının, Chat API ile kimlik doğrulaması ve yetkilendirme yapabilmesinin iki yolu vardır: Kullanıcı kimlik bilgileri veya hizmet hesapları.
Kullanıcı kimlik bilgisi yetkilendirmesi sayesinde bir Chat uygulaması, belirtilen kullanıcı verilerine erişebilir ve kullanıcı adına belirtilen işlemleri tamamlayabilir. Yetkili veriler ve işlemler kapsamlar ile belirtilir.
Bir Chat uygulaması, hizmet hesabı yetkilendirmesiyle API'ye hizmet hesabı kimlik bilgilerini kullanarak uygulama olarak veya alan genelinde yetki yoluyla kullanıcının kimliğine bürünerek erişir.
Aşağıdaki tabloda, Chat uygulamalarının karşılaştığı yaygın senaryolar, kimlik doğrulama gerekip gerekmediği ve gerekliyse ne tür koşullar listeledikleri listelenmektedir:
|Senaryo||Kimlik doğrulaması gerekmiyor||Kullanıcı kimlik doğrulaması desteklenir||Hizmet hesabı destekleniyor|
|Şu kişilerden ileti 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 Geliştiriciler için Google Workspace'teki Kimlik doğrulama ve yetkilendirme hakkında bilgi edinin başlıklı makaleyi inceleyin.
- Google Cloud'da kimlik doğrulama ve yetkilendirmeye genel bir bakış için Google Cloud belgelerindeki Kimlik doğrulamaya genel bakış bölümünü inceleyin.
- Hizmet hesapları hakkında daha fazla bilgi edinmek için Google Cloud Identity and Access Management (IAM) dokümanlarındaki 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 belgelerinde Google API'lerine Erişmek için OAuth 2.0'ı Kullanma bölümüne bakın.