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 işleyiş şekli 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 uygulama geliştirme ve Chat uygulaması oluşturma bölümlerine göz atın.
Chat API'yi çağırma: Uygulamanız Chat API'yi çağırdığında Chat API'ye kimlik doğrulama bilgileri gönderir. Uygulamanız bir hizmet hesabıyla kimlik doğrulaması yaparsa kimlik bilgileri, uygulama kodunuzun bir parçası olarak gönderilir. Uygulamanız, henüz verilmemiş bir kullanıcı kimlik doğrulaması kullanılarak 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 ister.
İzin isteme: Uygulamanız, kullanıcı olarak kimlik doğrulaması yapıyorsa Google bir OAuth izin ekranı görüntüler. 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 onaylanan istek gönderme: Kullanıcı, yetkilendirme kapsamlarına izin verirse uygulamanız kimlik bilgilerini ve kullanıcı tarafından onaylanan kapsamları bir talep altında birleştirir. İstek, erişim jetonunu almak için Google yetkilendirme sunucusuna gönderilir.
Google bir erişim jetonu döndürür: Erişim jetonu, verilen kapsamların bir listesini içerir. Döndürülen kapsam listesi istenen kapsamlardan daha kısıtlayıcıysa uygulamanız jeton tarafından 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 Google Chat API'ye tek bir erişim jetonunun kullanım ömründen sonra 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önderilmesine neden olur (3-6. adımlar).
Chat uygulamaları kimlik doğrulama gerektirdiğinde
Chat uygulamaları, kullanıcı etkileşimine yanıt olarak veya eşzamansız olarak mesaj gönderebilir. Ayrıca kullanıcı adına, Chat alanı oluşturma veya Chat alanındaki kişilerin listesini alma gibi görevleri de tamamlayabilirler.
Chat uygulaması, yanıtı işlerken Chat API'yi veya başka bir Google API'sini çağırmadığı sürece Chat uygulamalarının kullanıcı etkileşimlerine yanıt vermek için kimlik doğrulaması yapması gerekmez.
Chat uygulamaları, eşzamansız mesajlar göndermek veya kullanıcı adına görev 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 için kimlik doğrulama gerekmez
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ı yapmaları gerekmez.
Google Chat uygulamaları, kullanıcılar bir Chat uygulamasıyla etkileşimde bulunduğunda veya çağırdığında, aşağıdakiler de dahil olmak üzere etkileşim etkinlikleri alır:
- Kullanıcı, Chat uygulamasına mesaj gönderir.
- 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 adım sırası, her Chat uygulaması etkileşim etkinliği için tekrarlanır.
Eşzamansız mesajlar için kimlik doğrulama gerekir
Eşzamansız mesajlar, bir Chat uygulaması Chat API'ye istekte bulunduğunda oluşur. Bu da kimlik doğrulama ve yetkilendirme gerektirir.
Chat uygulamaları, Chat API'yi çağırarak Google Chat'te mesaj yayınlayabilir veya kullanıcının adına görevleri tamamlayıp verilere erişebilir. Örneğin, bir sunucu kesintisi tespit edildikten sonra Chat uygulaması, Chat API'yi şu amaçlarla çağırabilir:
- Kesintiyi araştırmak ve düzeltmek için özel bir Chat alanı oluşturun.
- Chat alanına kullanıcı ekleyin.
- Kesintiyle ilgili 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 dizisi gösterilmektedir:
- Bir Chat uygulaması,
spaces.messages.create
yö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ı
OAuth izin ekranını yapılandırıp kapsamları seçerek kullanıcılara ve uygulama inceleme uzmanlarına gösterilecek bilgileri tanımlayın ve uygulamanızı daha sonra yayınlayabilmek için kaydedin.
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ı, eriştiği verilerin türünü ve erişim düzeyini içeren bir OAuth 2.0 URI dizesidir.
Hassas olmayan kapsamlar
Kapsam kodu | Açıklama |
---|---|
https://www.googleapis.com/auth/chat.bot
|
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 sağlar. |
Hassas kapsamlar
Kapsam kodu | Açıklama |
---|---|
https://www.googleapis.com/auth/chat.spaces
|
Chat'te görüşmeler ve alanlar oluşturup meta verileri (geçmiş ayarları ve erişim ayarları dahil ) görüntüleyin veya düzenleyin. |
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 sohbetleri 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 ve 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şturup gönderin. |
https://www.googleapis.com/auth/chat.messages.reactions
|
Chat'te mesajlara tepki ekleyin, verilen tepkileri görüntüleyin ve silin. |
https://www.googleapis.com/auth/chat.messages.reactions.create
|
Chat'te mesajlara tepki ekleyin. |
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üleme. |
Kısıtlanmış kapsamlar
Kapsam kodu | Açıklama |
---|---|
https://www.googleapis.com/auth/chat.delete
|
Chat'te görüşmeleri ve alanları silebilir, ilişkili dosyalara erişimi kaldırabilirsiniz. |
https://www.googleapis.com/auth/chat.import
|
Alanları, mesajları ve üyelikleri Chat'e aktarın. Daha fazla bilgi için Chat uygulamalarını veri içe aktarması için yetkilendirme başlıklı makaleyi inceleyin. |
https://www.googleapis.com/auth/chat.messages
|
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. |
https://www.googleapis.com/auth/chat.messages.readonly
|
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 daha fazla bilgi edinmek için Doğrulama işlemine 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ğrulaması yapmanızı gerektirir. Bu gereksinim hakkında daha fazla bilgi için Hassas kapsamlar isteyen uygulamalara yönelik 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 daha fazla 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. Ayrıca bkz. Kısıtlanmış kapsamlar isteyen uygulamalarla ilgili adımlar.
Uygulamanızın başka herhangi bir Google API'sine erişmesi gerekiyorsa bu kapsamları da ekleyebilirsiniz. Google API kapsamları hakkında daha fazla bilgi için Google API'lerine Erişmek için OAuth 2.0'ı Kullanma bölümüne bakın.
Google Workspace API'lerinin 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.
Uygulama yetkilendirmesi sayesinde, bir Chat uygulaması hizmet hesabı kimlik bilgilerini kullanarak API'ye uygulama olarak erişir. Uygulama yetkilendirmesi her zaman chat.bot
yetkilendirme kapsamını kullanır.
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 yetkilendirmesi sayesinde, 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 yetkilendirmesi ile ListSpaces
yöntemi çağrıldığında, 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ı destekleniyor | Uygulama kimlik doğrulaması desteklenir | Desteklenen yetkilendirme kapsamları | |
---|---|---|---|---|
Alanlar | ||||
Alan oluşturma | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Alan oluşturma | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Alan alın |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
|||
Alanları listeleme |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
|||
Alan güncelleme | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Alan silme | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Alanın içe aktarma işlemini tamamlama | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Doğrudan mesajları bulma |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
|||
Üyeler | ||||
Üye oluşturma | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Üye olun |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
|||
Liste üyeleri |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
|||
Üye silme | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Mesajlar | ||||
Mesaj oluşturma |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
|||
Mesaj alma |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
|||
İletileri listeleme | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Mesajları güncelleme |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
|||
Mesajı silme |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
|||
Tepkiler | ||||
Tepki oluşturma | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Tepkileri listeleme | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Tepkiyi silme | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Medya ve ekler | ||||
Medyayı dosya eki olarak yükleme | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Medyayı indir |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
|||
Mesaj eki alma | — |
Uygulama kimlik doğrulaması etkinken:
|
||
Kullanıcı okuma durumları | ||||
Bir kullanıcının alanı okuma durumunu alma | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Bir kullanıcının alan okuma durumunu güncelleme | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Bir kullanıcının ileti dizisi okunma durumunu alma | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Alan etkinlikleri | ||||
Alan etkinlikleri al | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
||
Alan etkinliklerini listeleme | — |
Kullanıcı kimlik doğrulaması kullanıldığında:
|
Chat uygulaması etkileşim etkinlikleri için
Aşağıdaki tabloda, kullanıcıların Chat uygulamalarıyla yaygın olarak kullandığı yöntemler ve kimlik doğrulamanın gerekli olup olmadığı veya desteklenip desteklenmediği listelenmiştir:
Senaryo | Kimlik doğrulama gerekmez | Kullanıcı kimlik doğrulaması destekleniyor | Uygulama kimlik doğrulaması desteklenir | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Şu kişiden gelen iletileri al: |
|
|||||||||||||||
Mesajları yanıtlama: |
|
|||||||||||||||
Yeni ileti gönderme: |
|
İlgili konular
- Google Workspace'te kimlik doğrulama ve yetkilendirmeye genel bakış için Kimlik doğrulama ve yetkilendirme hakkında bilgi edinme başlıklı makaleyi inceleyin.
- Google Cloud'da kimlik doğrulama ve yetkilendirmeye genel bakış için Kimlik doğrulamasına genel bakış sayfasını inceleyin.
- Hizmet hesapları hakkında daha fazla bilgi edinmek için Hizmet hesapları sayfasını inceleyin.
- 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.