Kimlik doğrulama ve yetkilendirme, sırasıyla kimliği ve kaynaklara erişimi doğrulamak için kullanılan mekanizmalardır. Bu dokümanda, Chat uygulamaları ve Chat API istekleri için kimlik doğrulama ve yetkilendirmenin nasıl işlediği açıklanmaktadır.
Sürece genel bakış
Aşağıdaki şemada, Google Chat için üst düzey kimlik doğrulama ve yetkilendirme 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ğrulamasını ayarlarsınız. Daha fazla bilgi için Google Workspace'te geliştirme ve Chat uygulaması oluşturma bölümlerine göz atın.
Çağrı API'si: Uygulamanız Chat API'yi çağırdığında kimlik doğrulama bilgilerini Chat API'ye gönderir. Uygulamanız bir hizmet hesabıyla kimlik doğrulaması yapıyorsa kimlik bilgileri, uygulama kodunuzun bir parçası olarak gönderilir. Uygulamanız henüz verilmemiş bir kullanıcı kimlik doğrulamasını kullanarak Chat API'nin çağrılmasını gerektiriyorsa kullanıcıdan oturum açmasını ister.
Kaynak isteme: Uygulamanız, kimlik doğrulamayı ayarlarken belirttiğiniz kapsamlar ile erişim izni ister.
İzin isteme: Uygulamanızda kullanıcı olarak kimlik doğrulanıyorsa Google, OAuth kullanıcı rızası ekranı gösterir. Böylece kullanıcı, uygulamanıza istenen verilere erişim izni verip vermemeye karar verebilir. Hizmet hesabıyla kimlik doğrulamak için kullanıcı izni gerekmez.
Kaynaklar için onaylanmış istek gönderme: Kullanıcı, yetkilendirme kapsamlarına izin verirse uygulamanız kimlik bilgilerini ve kullanıcı onaylı kapsamları bir istek altında gruplandırır. İstek, erişim jetonunu 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 kapsam listesi istenen kapsamlardan daha kısıtlayıcıysa uygulamanız jetonla sınırlandırılan 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ı): Uygulamanızın, tek bir erişim jetonunun kullanım ömründen sonra Google Chat API'ye erişmesi gerekiyorsa yenileme jetonu alabilir. Daha fazla bilgi için Google API'lerine erişmek için OAuth 2.0'ı kullanma bölümüne bakın.
Daha fazla kaynak isteme: Uygulamanız daha fazla erişime ihtiyaç duyuyorsa kullanıcıdan yeni kapsamlar vermesini ister. Bu da erişim jetonu almak için yeni bir istek gönderilmesiyle sonuçlanır (3-6. adımlar).
Chat uygulamaları için kimlik doğrulama gerektiğinde
Sohbet uygulamaları, kullanıcı etkileşimine yanıt olarak veya eşzamansız olarak mesaj gönderebilir. Ayrıca kullanıcılar adına Chat alanı oluşturma veya Chat alanındaki kişilerin listesini alma gibi görevleri de tamamlayabilirler.
Chat uygulamalarının kullanıcı etkileşimlerine yanıt vermek için kimlik doğrulamasına gerek yoktur. Ancak Chat uygulaması, yanıtı işlerken Chat API'yi veya başka bir Google API'yi çağırır.
Chat uygulamaları, eşzamansız mesajlar göndermek veya kullanıcı adına görevler gerçekleştirmek için Chat API'ye RESTful istekler gönderir. Bu işlem için kimlik doğrulama ve yetkilendirme gerekir.
Kullanıcı etkileşimlerine verilen yanıtlar kimlik doğrulaması gerektirmez
Google Chat uygulamalarının etkileşim etkinliklerini almak ve eşzamanlı olarak yanıt vermek için kullanıcı veya Chat uygulaması olarak kimlik doğrulaması yapması gerekmez.
Google Chat uygulamaları, kullanıcılar bir Chat uygulamasıyla etkileşimde bulunduğunda veya Chat uygulamasını çağırdığında, aşağıdakiler de dahil olmak üzere etkileşim etkinliklerini alır:
- Bir kullanıcı, Chat uygulamasına mesaj gönderdiğinde.
- Bir kullanıcı bir Chat uygulamasından @bahseder.
- Bir 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 istek-yanıt sırası 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 bir yanıt döndürür.
- Google Chat, yanıtı kullanıcı için veya bir alanda oluşturur.
Bu sıra, her Chat uygulaması etkileşim etkinliği için tekrarlanır.
Eşzamansız mesajlar için kimlik doğrulama gerekir
Bir Chat uygulaması, kimlik doğrulama ve yetkilendirme gerektiren Chat API'ye istekte bulunduğunda eşzamansız mesajlar ortaya çıkar.
Chat uygulamaları, Chat API'yi çağırarak Google Chat'te mesaj yayınlayabilir veya kullanıcı adına görevleri tamamlayıp verilere erişebilir. Örneğin, bir sunucu kesintisi algılandıktan sonra Chat uygulaması, Chat API'yi çağırarak şunları yapabilir:
- Kesintiyi araştırmak ve düzeltmek için özel bir 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ında eşzamansız bir mesaj sırası gösterilmektedir:
- Bir Chat uygulaması,
spaces.messages.createyöntemini kullanarak Chat API'yi çağırarak bir mesaj oluşturur ve HTTP isteğine kullanıcı 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ına oluşturur.
Chat API kapsamları
Kullanıcılara ve uygulama incelemecilere hangi bilgilerin gösterileceğini tanımlamak için uygulamanızın OAuth kullanıcı rızası ekranını yapılandırıp kapsamları seçin. Daha sonra yayınlamak üzere uygulamanızı kaydedin.
Uygulamanıza verilen erişim düzeyini tanımlamak için yetkilendirme kapsamlarını tanımlayıp bildirmeniz gerekir. Yetkilendirme kapsamı, Google Workspace uygulamasının adını, eriştiği verilere ve erişim düzeyini içeren bir OAuth 2.0 URI dizesidir.
Hassas olmayan kapsamlar
|Kapsam kodu||Açıklama|


||Chat uygulamalarının sohbetleri görüntülemesine ve mesaj göndermesine izin verir. Chat uygulamalarında kullanılabilen tüm özelliklere erişim izni verir.|
Hassas kapsamlar
|Kapsam kodu||Açıklama|


||Chat'te görüşme ve alan oluşturmanın yanı sıra meta verileri (geçmiş ayarları dahil) görüntüleme veya güncelleme.|


||Chat'te yeni görüşmeler oluşturabilirsiniz.|


||Chat'te sohbet ve alanları görüntüleme|


||Chat'teki görüşmelerde üyeleri görüntüleme, ekleme ve kaldırma.|


||Google Chat'teki görüşmelere ekleme ve görüşmelerden kaldırma.|


||Chat görüşmelerindeki üyeleri görüntüleme.|


||Chat'te mesaj oluşturup gönderin.|


||Chat'te mesajlara tepki ekleyin, tepkileri görüntüleyin ve silin.|


||Chat'te bir mesaja tepki ekleyin.|


||Chat'te bir mesaja verilen tepkileri görüntüleyin.|
Kısıtlanmış kapsamlar
|Kapsam kodu||Açıklama|


||Chat'te görüşmeleri ve alanları silip ilişkili dosyalara erişimi kaldırın.|


||Mesajları görüntüleyin, oluşturun, gönderin, güncelleyin ve silin. Ayrıca, mesajlara tepki ekleyin, verilen tepkileri görüntüleyin ve silin.|


||Chat'te mesajları ve tepkileri görüntüleyin.|
Yukarıdaki tablolarda yer alan kapsamlar, aşağıdaki tanımlara göre hassasiyetlerini gösterir:
Hassas değildir: Bu kapsamlar, en küçük yetkilendirme erişimi alanını sağlar ve yalnızca temel uygulama doğrulaması gerektirir. Bu gereksinim hakkında bilgi edinmek için Doğrulamaya hazırlanma adımları bölümüne bakın.
Hassas: Bu kapsamlar, uygulamanızın kullanıcıdan yetkilendirme aldıktan sonra belirli bir kullanıcının Google verilerine erişmesini sağlar. Ek uygulama doğrulama sürecinden geçmeniz gerekir. Bu şart hakkında bilgi edinmek için Hassas kapsamlar isteyen uygulamalar için adımlar bölümüne bakın.
Kısıtlanmış: Bu kapsamlar, Google kullanıcı verilerine geniş erişim sağlar ve kısıtlanmış kapsam doğrulama sürecinden geçmenizi gerektirir. Bu gereksinim hakkında bilgi edinmek için Google API Hizmetleri: Kullanıcı Verileri Politikası ve Belirli API Kapsamları İçin Ek Gereksinimler bölümlerine göz atın. Kısıtlanmış kapsamlar isteyen uygulamalara yönelik adımlar bölümüne de göz atın.
Uygulamanız başka herhangi bir Google API'sine erişim gerektiriyorsa bu kapsamları da ekleyebilirsiniz. Google API kapsamları hakkında daha fazla bilgi edinmek için Google API'lerine Erişmek için OAuth 2.0'ı Kullanma bölümüne bakın.
Google Workspace API'leri kapsamları hakkında daha fazla bilgi edinmek için OAuth izin ekranını yapılandırma ve kapsamları seçme başlıklı makaleyi inceleyin.
Gerekli kimlik doğrulama türleri
Chat uygulamalarının, Chat API ile kimlik doğrulaması ve yetkilendirme yapmak için kullanabileceği iki yöntem vardır: kullanıcı kimlik bilgileri veya hizmet hesapları.
Kullanıcı kimlik bilgisi yetkilendirmesi sayesinde Chat uygulaması, kullanıcı verilerine erişebilir ve kullanıcı adına işlemleri tamamlayabilir. OAuth kapsamları, yetkilendirilmiş verileri ve işlemleri belirtir. Ancak bu Chat uygulamaları herkese açık olarak yayınlanamaz. Daha fazla bilgi edinmek için Google Chat uygulamaları yayınlama başlıklı makaleyi inceleyin.
Uygulama yetkilendirmesi sayesinde Chat uygulamaları, hizmet hesabı kimlik bilgilerini kullanarak API'ye uygulama olarak erişir. Uygulama yetkilendirmesi her zaman
chat.bot yetkilendirme kapsamını kullanır.
Alan yöneticisiyseniz her kullanıcının izin vermesini gerektirmeden bir uygulamanın hizmet hesabına, kullanıcılarınızın verilerine erişme yetkisi vermek için alan genelinde yetki verebilirsiniz. Alan genelinde yetkiyi yapılandırdıktan sonra, bir kullanıcı hesabının kimliğine bürünmek için hizmet hesabınızı kullanarak API çağrıları yapabilirsiniz. Kimlik doğrulama için bir hizmet hesabı kullanılmasına rağmen, 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 alan genelinde yetkiyi kullanabilir.
Belirli bir API isteği için hangi kimlik bilgisi türünün kullanılacağına karar verirken bazı API yöntemlerinin yalnızca belirli bir kimlik bilgisi türünü desteklediğini unutmayın. Bir API yöntemi her iki kimlik bilgisini de destekliyorsa çağrıda kullanılan kimlik bilgilerinin türü, döndürülen sonucu etkiler:
- Uygulama yetkilendirmesiyle, yöntemler yalnızca uygulamanın erişebildiği kaynakları döndürür.
- Kullanıcı yetkilendirmesi sayesinde yöntemler yalnızca kullanıcının Chat kullanıcı arayüzünde erişebildiği kaynakları döndürür.
Örneğin, uygulama yetkilendirmesiyle
ListSpaces yöntemi çağrılırsa uygulamanın üyesi olduğu alanların listesi döndürülür. Kullanıcı yetkilendirmesiyle
ListSpaces çağrıldığında kullanıcının üyesi olduğu alanların listesi döndürülür. Pratikte uygulamanız, Chat API'yi çağırırken istediğiniz işleve bağlı olarak her iki yetkilendirme türünü de kullanabilir.
Eşzamansız Chat API çağrıları için
Aşağıdaki tabloda Chat API yöntemleri ve desteklenen yetkilendirme kapsamları listelenmiştir:
|Yöntem||Kullanıcı kimlik doğrulaması desteklenir||Uygulama kimlik doğrulaması desteklenir||Desteklenen yetkilendirme kapsamları|
|Alanlar|
|Alan oluşturma||—||


|Alan oluşturma||—||


|Alan edinin||
Kullanıcı kimlik doğrulaması kullanıldığında:


|Alanları listeleme||
Kullanıcı kimlik doğrulaması kullanıldığında:


|Alan güncelleme||—||


|Alan silme||—||


|Doğrudan mesaj bulma||
Kullanıcı kimlik doğrulaması kullanıldığında:


|Üyeler|
|Üye oluşturun||—||


|Üye olun||
Kullanıcı kimlik doğrulaması kullanıldığında:


|Liste üyeleri||
Kullanıcı kimlik doğrulaması kullanıldığında:


|Üyeyi silme||—||


|Mesajlar|
|Mesaj oluşturma||
Kullanıcı kimlik doğrulaması kullanıldığında:


|Mesaj alma||
Kullanıcı kimlik doğrulaması kullanıldığında:


|Mesajları listeleme||—||


|Mesaj güncelleme||
Kullanıcı kimlik doğrulaması kullanıldığında:


|Mesaj silme||
Kullanıcı kimlik doğrulaması kullanıldığında:


|Tepkiler|
|Tepki oluşturma||—||


|Tepkileri listeleme||—||


|Tepkiyi silme||—||


|Medya ve ekler|
|Medyayı dosya eki olarak yükleme||—||


|Medyayı indirin||
Kullanıcı kimlik doğrulaması kullanıldığında:


|Mesaj eki alma||—||


Chat uygulaması etkileşim etkinlikleri için
Aşağıdaki tabloda, kullanıcıların Chat uygulamalarıyla yaygın olarak etkileşim kurma yöntemleri ve kimlik doğrulamanın gerekli olup olmadığı veya desteklenip desteklenmediği listelenmiştir:
|Senaryo||Kimlik doğrulama gerekmez||Kullanıcı kimlik doğrulaması desteklenir||Uygulama kimlik doğrulaması desteklenir|
|Şuradan mesaj al:||


|Mesajları yanıtlama:||


|Yeni ileti gönder:||


İlgili konular
- Google Workspace'te kimlik doğrulama ve yetkilendirmeye genel bakış için Kimlik doğrulama ve yetkilendirme hakkında bilgi edinme bölümüne bakın.
- Google Cloud'da kimlik doğrulama ve yetkilendirmeye genel bir bakış için Kimlik doğrulamasına genel bakış bölümünü inceleyin.
- Hizmet hesapları hakkında daha fazla bilgi edinmek için Hizmet hesapları bölümüne bakın.
- Google API'lerinin OAuth 2.0'dan nasıl yararlandığı hakkında daha fazla bilgi edinmek için Google API'lerine Erişmek için OAuth 2.0'ı Kullanma bölümüne bakın.
- Kullanıcı kimlik bilgileri veya hizmet hesabı ile kimlik doğrulama ve yetkilendirme ayarlayın.