{"id":36842,"date":"2025-12-23T22:00:44","date_gmt":"2025-12-23T19:00:44","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/"},"modified":"2025-12-23T22:00:44","modified_gmt":"2025-12-23T19:00:44","slug":"google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/","title":{"rendered":"Google Chat Kullan\u0131c\u0131 Kimliklerini E-postalara \u00c7\u00f6z\u00fcmleme: En Az Ayr\u0131cal\u0131k Prensibiyle G\u00fcvenli Yakla\u015f\u0131m"},"content":{"rendered":"<h2>Google Chat Kullan\u0131c\u0131 Kimliklerini E-postalara \u00c7\u00f6z\u00fcmleme: En Az Ayr\u0131cal\u0131k Prensibiyle G\u00fcvenli Yakla\u015f\u0131m<\/h2>\n<p>Google Chat, ekipler aras\u0131 ileti\u015fimi ve i\u015fbirli\u011fini kolayla\u015ft\u0131ran g\u00fc\u00e7l\u00fc bir platformdur. Ancak geli\u015ftiriciler ve y\u00f6neticiler i\u00e7in s\u0131kl\u0131kla kar\u015f\u0131la\u015f\u0131lan bir zorluk, Chat API&#8217;sinin do\u011frudan kullan\u0131c\u0131 e-posta adreslerini de\u011fil, yaln\u0131zca anonimle\u015ftirilmi\u015f kullan\u0131c\u0131 kimliklerini sa\u011flamas\u0131d\u0131r. Bu durum, \u00f6zellikle bir Google Chat kullan\u0131c\u0131s\u0131n\u0131n e-posta adresini gerektiren entegrasyonlar veya i\u015f ak\u0131\u015flar\u0131 olu\u015ftururken \u00f6nemli bir engel te\u015fkil eder. Bu makale, Google Chat kullan\u0131c\u0131 kimliklerini e-postalara d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in &#8220;en az ayr\u0131cal\u0131k&#8221; prensibini temel alan g\u00fcvenli ve verimli bir yakla\u015f\u0131m\u0131 ele alacakt\u0131r. Geleneksel y\u00f6ntemlerin risklerini vurgulayarak, Google People API&#8217;nin bu amaca nas\u0131l hizmet edebilece\u011fini ve bunu yaparken g\u00fcvenlik duru\u015fumuzu nas\u0131l g\u00fc\u00e7lendirebilece\u011fimizi detayland\u0131raca\u011f\u0131z.<\/p>\n<h3>Problem Tan\u0131m\u0131 ve Neden \u00d6nemli?<\/h3>\n<p>Google Chat ortam\u0131nda kullan\u0131c\u0131lar, genellikle <code>@users\/1234567890<\/code> gibi benzersiz kimliklerle temsil edilir. Bu kimlikler, platform i\u00e7i etkile\u015fimler i\u00e7in yeterli olsa da, harici sistemlerle entegrasyon, raporlama veya kullan\u0131c\u0131 ileti\u015fimini ki\u015fiselle\u015ftirme gibi senaryolarda yetersiz kal\u0131r. E-posta adresleri, bir\u00e7ok kurumsal sistemde birincil kullan\u0131c\u0131 tan\u0131mlay\u0131c\u0131s\u0131 oldu\u011fundan, bu kimliklerin e-postalara \u00e7\u00f6z\u00fcmlenmesi kritik bir ihtiya\u00e7t\u0131r.<\/p>\n<h4>Google Chat Kullan\u0131c\u0131 Kimlikleri<\/h4>\n<p>Google Chat API&#8217;si, mesajla\u015fma veya alan y\u00f6netimi gibi i\u015flemlerde kullan\u0131c\u0131lar\u0131 belirtmek i\u00e7in <code>name<\/code> alan\u0131 i\u00e7inde <code>users\/<\/code> \u00f6nekiyle ba\u015flayan uzun, say\u0131sal kimlikler kullan\u0131r. Bu kimlikler, kullan\u0131c\u0131n\u0131n do\u011frudan tan\u0131mlanmas\u0131n\u0131 engelleyerek gizlili\u011fi korumay\u0131 ama\u00e7lar. Ancak bu anonimlik, geli\u015ftiriciler i\u00e7in ek bir ad\u0131m gerektirir.<\/p>\n<h4>E-posta \u0130htiyac\u0131<\/h4>\n<p>Bir Chat kullan\u0131c\u0131s\u0131n\u0131n e-posta adresine ihtiya\u00e7 duyulan senaryolar \u00e7e\u015fitlidir:<br \/>\n*   Bir Chat mesaj\u0131n\u0131 harici bir CRM sistemindeki bir m\u00fc\u015fteri kayd\u0131yla ili\u015fkilendirme.<br \/>\n*   Bir Chat bildirimini, kullan\u0131c\u0131n\u0131n e-posta adresini kullanarak bir e-posta pazarlama listesine ekleme.<br \/>\n*   Chat etkinli\u011fini denetlerken, anonim kimlikler yerine ger\u00e7ek kullan\u0131c\u0131 kimlikleriyle raporlama yapma.<br \/>\n*   \u00d6zel bir botun, Chat d\u0131\u015f\u0131ndaki bir sistemde kullan\u0131c\u0131ya \u00f6zel bir i\u015flem yapmas\u0131 gerekti\u011finde.<\/p>\n<h4>G\u00fcvenlik ve Gizlilik Endi\u015feleri<\/h4>\n<p>Kullan\u0131c\u0131 kimliklerini e-postalara d\u00f6n\u00fc\u015ft\u00fcrme s\u00fcreci, g\u00fcvenlik ve gizlilik a\u00e7\u0131s\u0131ndan dikkatli bir yakla\u015f\u0131m gerektirir. Yanl\u0131\u015f yap\u0131land\u0131r\u0131lm\u0131\u015f veya a\u015f\u0131r\u0131 yetkili bir \u00e7\u00f6z\u00fcm, hassas kullan\u0131c\u0131 bilgilerinin s\u0131zmas\u0131na veya k\u00f6t\u00fcye kullan\u0131lmas\u0131na yol a\u00e7abilir. Bu nedenle, yaln\u0131zca gerekli olan minimum ayr\u0131cal\u0131klar\u0131 talep eden bir y\u00f6ntem benimsemek hayati \u00f6nem ta\u015f\u0131r.<\/p>\n<h3>Geleneksel \u00c7\u00f6z\u00fcmler ve Riskleri<\/h3>\n<p>Ge\u00e7mi\u015fte veya baz\u0131 durumlarda hala kullan\u0131lan baz\u0131 y\u00f6ntemler, Google Chat kullan\u0131c\u0131 kimliklerini e-postalara \u00e7\u00f6z\u00fcmlemek i\u00e7in kullan\u0131labilir, ancak bunlar genellikle &#8220;en az ayr\u0131cal\u0131k&#8221; prensibine ayk\u0131r\u0131 d\u00fc\u015fen y\u00fcksek yetkiler gerektirir ve potansiyel g\u00fcvenlik riskleri ta\u015f\u0131r.<\/p>\n<h4>Admin SDK Kullan\u0131m\u0131<\/h4>\n<p>Google Workspace Admin SDK, bir Google Workspace alan\u0131ndaki t\u00fcm kullan\u0131c\u0131lar\u0131n bilgilerine eri\u015fim sa\u011flayabilir. <code>Directory API<\/code> arac\u0131l\u0131\u011f\u0131yla, bir kullan\u0131c\u0131n\u0131n ID&#8217;sini (genellikle Google&#8217;\u0131n i\u00e7 ID&#8217;si, Chat ID&#8217;si ile e\u015fle\u015fmeyebilir) veya e-postas\u0131n\u0131 sorgulayarak di\u011fer bilgileri elde etmek m\u00fcmk\u00fcnd\u00fcr. Ancak bu API, genellikle <code>https:\/\/www.googleapis.com\/auth\/admin.directory.user.readonly<\/code> veya daha geni\u015f kapsaml\u0131 yetkiler gerektirir.<\/p>\n<h4>Y\u00fcksek Ayr\u0131cal\u0131klar\u0131n Sak\u0131ncalar\u0131<\/h4>\n<p>Admin SDK&#8217;ya eri\u015fim genellikle bir hizmet hesab\u0131 veya bir y\u00f6netici kullan\u0131c\u0131s\u0131 arac\u0131l\u0131\u011f\u0131yla sa\u011flan\u0131r. Bu t\u00fcr hesaplara verilen geni\u015f yetkiler, uygulaman\u0131n yaln\u0131zca belirli bir kullan\u0131c\u0131n\u0131n e-postas\u0131n\u0131 bulmas\u0131 gerekti\u011finde bile t\u00fcm dizine eri\u015fmesine izin verir. Bu durum, uygulaman\u0131n g\u00fcvenli\u011fi ihlal edildi\u011finde veya yanl\u0131\u015f yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131nda, t\u00fcm kurulu\u015fun kullan\u0131c\u0131 verilerinin risk alt\u0131nda olmas\u0131na neden olabilir.<\/p>\n<h4>Veri S\u0131z\u0131nt\u0131s\u0131 Potansiyeli<\/h4>\n<p>Geni\u015f yetkilere sahip bir uygulaman\u0131n ele ge\u00e7irilmesi durumunda, sald\u0131rganlar t\u00fcm kullan\u0131c\u0131 listelerine, e-posta adreslerine, telefon numaralar\u0131na ve di\u011fer hassas bilgilere eri\u015febilir. Bu, hem yasal (GDPR, KVKK gibi) hem de itibar a\u00e7\u0131s\u0131ndan ciddi sonu\u00e7lar do\u011furabilir. Bu nedenle, her zaman g\u00f6reve \u00f6zel ve s\u0131n\u0131rl\u0131 yetkilerle \u00e7al\u0131\u015fmak en iyi uygulamad\u0131r.<\/p>\n<h3>En Az Ayr\u0131cal\u0131k Prensibi Nedir?<\/h3>\n<p>En az ayr\u0131cal\u0131k prensibi (Principle of Least Privilege &#8211; PoLP), bir kullan\u0131c\u0131n\u0131n, program\u0131n veya s\u00fcrecin bir g\u00f6revi yerine getirmek i\u00e7in yaln\u0131zca kesinlikle gerekli olan minimum eri\u015fim haklar\u0131na sahip olmas\u0131 gerekti\u011fini belirten bir g\u00fcvenlik kavram\u0131d\u0131r. Bu prensip, bilgi g\u00fcvenli\u011finin temel ta\u015flar\u0131ndan biridir.<\/p>\n<h4>Temel Tan\u0131m ve \u00d6nemi<\/h4>\n<p>PoLP, yetkisiz eri\u015fimden kaynaklanan potansiyel zarar\u0131 en aza indirmeyi ama\u00e7lar. Bir sistemin veya kullan\u0131c\u0131n\u0131n yaln\u0131zca ihtiya\u00e7 duydu\u011fu kaynaklara ve i\u015flemlere eri\u015fmesine izin vererek, bir g\u00fcvenlik ihlali durumunda ortaya \u00e7\u0131kabilecek hasar\u0131 s\u0131n\u0131rlar. \u00d6rne\u011fin, bir kullan\u0131c\u0131n\u0131n sadece okuma yetkisine ihtiyac\u0131 varsa, ona yazma veya silme yetkisi verilmemelidir.<\/p>\n<h4>Google Workspace Ba\u011flam\u0131nda Uygulama<\/h4>\n<p>Google Workspace API&#8217;leri ile \u00e7al\u0131\u015f\u0131rken, PoLP, uygulaman\u0131z\u0131n yaln\u0131zca belirli bir g\u00f6revi yerine getirmek i\u00e7in gereken en dar kapsaml\u0131 (scope) izinleri talep etmesi anlam\u0131na gelir. \u00d6rne\u011fin, sadece bir kullan\u0131c\u0131n\u0131n temel profil bilgilerine eri\u015fmeniz gerekiyorsa, t\u00fcm dizini okuma veya y\u00f6netme yetkisi isteyen bir kapsam kullanmamal\u0131s\u0131n\u0131z.<\/p>\n<h4>G\u00fcvenlik Duru\u015funu G\u00fc\u00e7lendirme<\/h4>\n<p>En az ayr\u0131cal\u0131k prensibini uygulamak, genel g\u00fcvenlik duru\u015funuzu \u00f6nemli \u00f6l\u00e7\u00fcde g\u00fc\u00e7lendirir:<br \/>\n*   <strong>Sald\u0131r\u0131 Y\u00fczeyini Azalt\u0131r:<\/strong> Bir sistemin veya uygulaman\u0131n sahip oldu\u011fu yetkiler ne kadar azsa, sald\u0131rganlar\u0131n k\u00f6t\u00fcye kullanabilece\u011fi potansiyel a\u00e7\u0131klar da o kadar az olur.<br \/>\n*   <strong>\u0130hlal Etkisini S\u0131n\u0131rlar:<\/strong> Bir g\u00fcvenlik ihlali meydana geldi\u011finde, sald\u0131rgan\u0131n eri\u015febilece\u011fi veri miktar\u0131 ve yapabilece\u011fi eylemler s\u0131n\u0131rl\u0131 kal\u0131r.<br \/>\n*   <strong>Uyumlulu\u011fu Kolayla\u015ft\u0131r\u0131r:<\/strong> KVKK, GDPR gibi veri koruma d\u00fczenlemelerine uyum sa\u011flamak i\u00e7in gereksiz veri eri\u015fimini k\u0131s\u0131tlamak \u00f6nemlidir.<br \/>\n*   <strong>Denetlenebilirli\u011fi Art\u0131r\u0131r:<\/strong> Hangi uygulaman\u0131n neye eri\u015fti\u011fini anlamak ve denetlemek daha kolay hale gelir.<\/p>\n<h3>\u00d6nerilen En Az Ayr\u0131cal\u0131kl\u0131 Yakla\u015f\u0131m: People API<\/h3>\n<p>Google Chat kullan\u0131c\u0131 kimliklerini e-postalara d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in en az ayr\u0131cal\u0131k prensibine uygun, g\u00fcvenli ve verimli bir y\u00f6ntem Google People API&#8217;sini kullanmakt\u0131r. Bu API, kullan\u0131c\u0131lar\u0131n temel profil bilgilerine, do\u011fru kapsamlarla eri\u015fim sa\u011flar.<\/p>\n<h4>People API&#8217;ye Genel Bak\u0131\u015f<\/h4>\n<p>Google People API, bir kullan\u0131c\u0131n\u0131n Google hesab\u0131ndaki ki\u015fi verilerine (profil, ki\u015filer) eri\u015fim sa\u011flar. Bu API&#8217;nin en \u00f6nemli \u00f6zelliklerinden biri, bir kullan\u0131c\u0131n\u0131n Google ID&#8217;sini kullanarak temel profil bilgilerini, dolay\u0131s\u0131yla e-posta adresini sorgulayabilmesidir. Bu, Chat kullan\u0131c\u0131 kimliklerini \u00e7\u00f6zmek i\u00e7in ideal bir ara\u00e7 haline getirir, \u00e7\u00fcnk\u00fc Admin SDK kadar geni\u015f yetkiler gerektirmez.<\/p>\n<h4>Gerekli Kapsamlar<\/h4>\n<p>People API&#8217;yi kullan\u0131rken, Chat kullan\u0131c\u0131s\u0131n\u0131n e-postas\u0131n\u0131 almak i\u00e7in ihtiyac\u0131m\u0131z olan en dar kapsam, <code>https:\/\/www.googleapis.com\/auth\/userinfo.email<\/code> veya <code>https:\/\/www.googleapis.com\/auth\/userinfo.profile<\/code>&#8216;d\u0131r.<br \/>\n*   <code>userinfo.email<\/code>: Yaln\u0131zca kullan\u0131c\u0131n\u0131n birincil e-posta adresine eri\u015fim sa\u011flar. Bu, genellikle en az ayr\u0131cal\u0131kl\u0131 ve tercih edilen kapsamd\u0131r.<br \/>\n*   <code>userinfo.profile<\/code>: Kullan\u0131c\u0131n\u0131n temel profil bilgilerine (ad, soyad, foto\u011fraf, e-posta) eri\u015fim sa\u011flar. E\u011fer ad veya soyad gibi ek bilgilere de ihtiyac\u0131n\u0131z varsa bu kullan\u0131labilir.<\/p>\n<p>Bu kapsamlar, Admin SDK&#8217;n\u0131n gerektirdi\u011fi geni\u015f dizin eri\u015fiminden \u00e7ok daha s\u0131n\u0131rl\u0131d\u0131r ve yaln\u0131zca belirli bir kullan\u0131c\u0131n\u0131n halka a\u00e7\u0131k veya temel profil bilgilerine odaklan\u0131r.<\/p>\n<h4>Kullan\u0131c\u0131 Kimliklerini \u00c7\u00f6z\u00fcmleme Ak\u0131\u015f\u0131<\/h4>\n<p>1.  <strong>Chat Kullan\u0131c\u0131 Kimli\u011fi Elde Etme:<\/strong> Google Chat API&#8217;sinden veya bir Chat etkinli\u011finden (<code>@users\/1234567890<\/code> format\u0131nda) kullan\u0131c\u0131 kimli\u011fini al\u0131n.<br \/>\n2.  <strong>Google ID&#8217;ye D\u00f6n\u00fc\u015ft\u00fcrme:<\/strong> Chat kullan\u0131c\u0131 kimli\u011finin say\u0131sal k\u0131sm\u0131n\u0131 (<code>1234567890<\/code>) Google ID olarak kullan\u0131n. Google Chat API&#8217;sinin sa\u011flad\u0131\u011f\u0131 bu say\u0131sal ID, asl\u0131nda kullan\u0131c\u0131n\u0131n Google ID&#8217;sidir.<br \/>\n3.  <strong>People API \u00c7a\u011fr\u0131s\u0131:<\/strong> People API&#8217;nin <code>people.get<\/code> metodunu, <code>resourceName<\/code> olarak <code>people\/1234567890<\/code> ve <code>personFields<\/code> olarak <code>emailAddresses<\/code> (veya <code>names<\/code>, <code>photos<\/code> gibi ek alanlar) ile \u00e7a\u011f\u0131r\u0131n.<br \/>\n4.  <strong>E-posta Adresini Alma:<\/strong> API yan\u0131t\u0131ndan kullan\u0131c\u0131n\u0131n e-posta adresini \u00e7\u0131kar\u0131n.<\/p>\n<h4>Yetkilendirme ve Kimlik Do\u011frulama<\/h4>\n<p>People API&#8217;ye eri\u015fim i\u00e7in iki ana yetkilendirme y\u00f6ntemi vard\u0131r:<br \/>\n*   <strong>Hizmet Hesab\u0131 (Service Account):<\/strong> Uygulaman\u0131z\u0131n kendi ad\u0131na Google API&#8217;lerini \u00e7a\u011f\u0131rmas\u0131 gerekti\u011finde kullan\u0131l\u0131r. Bu durumda, hizmet hesab\u0131na, ilgili kullan\u0131c\u0131n\u0131n kimli\u011fine b\u00fcr\u00fcnme (domain-wide delegation) yetkisi verilmesi gerekir. Bu, hizmet hesab\u0131n\u0131n belirli bir kullan\u0131c\u0131 ad\u0131na People API&#8217;yi \u00e7a\u011f\u0131rmas\u0131na olanak tan\u0131r. Yaln\u0131zca <code>userinfo.email<\/code> kapsam\u0131 ile yetkilendirilmelidir.<br \/>\n*   <strong>OAuth 2.0 (Kullan\u0131c\u0131 Taraf\u0131ndan Yetkilendirme):<\/strong> Uygulaman\u0131z\u0131n, API&#8217;yi \u00e7a\u011f\u0131ran son kullan\u0131c\u0131n\u0131n izniyle onun ad\u0131na i\u015flem yapmas\u0131 gerekti\u011finde kullan\u0131l\u0131r. Bu, uygulaman\u0131n bir web aray\u00fcz\u00fc varsa ve kullan\u0131c\u0131lar\u0131n kendi e-postalar\u0131n\u0131 \u00e7\u00f6z\u00fcmlemesine izin veriyorsa uygun olabilir.<\/p>\n<p>En az ayr\u0131cal\u0131k prensibi do\u011frultusunda, genellikle bir hizmet hesab\u0131 ve domain-wide delegation ile <code>userinfo.email<\/code> kapsam\u0131n\u0131 kullanmak, uygulaman\u0131n yaln\u0131zca gerekti\u011finde ve belirli kullan\u0131c\u0131lar i\u00e7in e-posta \u00e7\u00f6z\u00fcmlemesi yapmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>Uygulama Ad\u0131mlar\u0131 ve Kod \u00d6rnekleri<\/h3>\n<p>Bu b\u00f6l\u00fcmde, People API&#8217;yi kullanarak Google Chat kullan\u0131c\u0131 kimliklerini e-postalara \u00e7\u00f6z\u00fcmleme s\u00fcrecini ad\u0131m ad\u0131m ele alaca\u011f\u0131z ve Python ile bir kod \u00f6rne\u011fi sunaca\u011f\u0131z.<\/p>\n<h4>Google Cloud Projesi Olu\u015fturma<\/h4>\n<p>1.  <strong>Google Cloud Console&#8217;a Giri\u015f Yap\u0131n:<\/strong> <code>console.cloud.google.com<\/code> adresine gidin.<br \/>\n2.  <strong>Yeni Proje Olu\u015fturun:<\/strong> Mevcut bir projeniz yoksa, yeni bir proje olu\u015fturun.<br \/>\n3.  <strong>Faturaland\u0131rmay\u0131 Etkinle\u015ftirin:<\/strong> API kullan\u0131m\u0131 i\u00e7in faturaland\u0131rman\u0131n etkinle\u015ftirildi\u011finden emin olun (\u00fccretsiz katman limitleri genellikle yeterlidir).<\/p>\n<h4>API&#8217;leri Etkinle\u015ftirme ve Kimlik Bilgileri<\/h4>\n<p>1.  <strong>People API&#8217;yi Etkinle\u015ftirin:<\/strong> Cloud Console&#8217;da &#8220;API&#8217;ler ve Hizmetler&#8221; > &#8220;Kitapl\u0131k&#8221; b\u00f6l\u00fcm\u00fcne gidin. &#8220;Google People API&#8221;yi aray\u0131n ve etkinle\u015ftirin.<br \/>\n2.  <strong>Hizmet Hesab\u0131 Olu\u015fturun:<\/strong> &#8220;API&#8217;ler ve Hizmetler&#8221; > &#8220;Kimlik Bilgileri&#8221; b\u00f6l\u00fcm\u00fcne gidin. &#8220;Kimlik Bilgileri Olu\u015ftur&#8221; > &#8220;Hizmet Hesab\u0131&#8221; se\u00e7ene\u011fini se\u00e7in. Bir ad verin ve bir rol atamay\u0131n (veya &#8220;Temel&#8221; > &#8220;G\u00f6r\u00fcnt\u00fcleyici&#8221; gibi en dar rol\u00fc atay\u0131n, \u00e7\u00fcnk\u00fc yetkilendirme kapsamlarla y\u00f6netilecek). JSON anahtar\u0131n\u0131 olu\u015fturun ve bilgisayar\u0131n\u0131za indirin.<br \/>\n3.  <strong>Alan Geneli Yetkilendirme (Domain-Wide Delegation) Yap\u0131land\u0131rma:<\/strong> E\u011fer bir hizmet hesab\u0131 kullan\u0131yorsan\u0131z ve Google Workspace alan\u0131n\u0131zdaki kullan\u0131c\u0131lar ad\u0131na i\u015flem yapacaksan\u0131z, Google Workspace Y\u00f6netici konsolunuzda (admin.google.com) hizmet hesab\u0131na alan geneli yetkilendirme vermeniz gerekir.<br \/>\n    *   Y\u00f6netici konsolunda &#8220;G\u00fcvenlik&#8221; > &#8220;Eri\u015fim ve Veri Kontrol\u00fc&#8221; > &#8220;API Kontrolleri&#8221; b\u00f6l\u00fcm\u00fcne gidin.<br \/>\n    *   &#8220;Alan Geneli Yetkilendirme&#8221; alt\u0131nda &#8220;Uygulamalar\u0131 Y\u00f6net&#8221;e t\u0131klay\u0131n.<br \/>\n    *   Hizmet hesab\u0131n\u0131z\u0131n istemci kimli\u011fini (Google Cloud Console&#8217;da hizmet hesab\u0131 detaylar\u0131nda bulunur) ve gerekli API kapsam\u0131n\u0131 (<code>https:\/\/www.googleapis.com\/auth\/userinfo.email<\/code>) ekleyin.<\/p>\n<h4>Python ile \u00d6rnek Kod<\/h4>\n<p>A\u015fa\u011f\u0131daki Python kodu, bir Google Chat kullan\u0131c\u0131 kimli\u011fini (\u00f6rne\u011fin, <code>1234567890<\/code>) kullanarak People API arac\u0131l\u0131\u011f\u0131yla kullan\u0131c\u0131n\u0131n e-posta adresini nas\u0131l alaca\u011f\u0131n\u0131z\u0131 g\u00f6sterir.<\/p>\n<pre><code class=\"language-python\">import google.auth\nfrom google.auth.transport.requests import Request\nfrom google.oauth2.service_account import Credentials\nfrom googleapiclient.discovery import build\nfrom googleapiclient.errors import HttpError\n\ndef resolve_chat_user_id_to_email(chat_user_id_numeric, impersonated_user_email, service_account_file):\n    \"\"\"\n    Google Chat kullan\u0131c\u0131 kimli\u011fini People API arac\u0131l\u0131\u011f\u0131yla e-posta adresine d\u00f6n\u00fc\u015ft\u00fcr\u00fcr.\n    \n    Args:\n        chat_user_id_numeric (str): Google Chat kullan\u0131c\u0131 kimli\u011finin say\u0131sal k\u0131sm\u0131 (\u00f6rn: \"1234567890\").\n        impersonated_user_email (str): Hizmet hesab\u0131n\u0131n kimli\u011fine b\u00fcr\u00fcnece\u011fi bir Google Workspace kullan\u0131c\u0131s\u0131n\u0131n e-postas\u0131.\n                                      Bu kullan\u0131c\u0131, hedef kullan\u0131c\u0131n\u0131n e-postas\u0131n\u0131 g\u00f6rme yetkisine sahip olmal\u0131d\u0131r.\n        service_account_file (str): Hizmet hesab\u0131 JSON anahtar dosyas\u0131n\u0131n yolu.\n        \n    Returns:\n        str: Kullan\u0131c\u0131n\u0131n e-posta adresi veya None e\u011fer bulunamazsa.\n    \"\"\"\n    \n    # People API i\u00e7in gerekli kapsam\n    SCOPES = ['https:\/\/www.googleapis.com\/auth\/userinfo.email']\n\n    try:\n        # Hizmet hesab\u0131 kimlik bilgileri ile kimlik do\u011frulama\n        creds = Credentials.from_service_account_file(\n            service_account_file, scopes=SCOPES\n        )\n        \n        # Alan geneli yetkilendirme (Domain-wide delegation) i\u00e7in kimli\u011fe b\u00fcr\u00fcnme\n        creds = creds.with_subject(impersonated_user_email)\n\n        # HTTP iste\u011fi i\u00e7in bir Request nesnesi olu\u015fturma\n        creds.refresh(Request())\n\n        # People API servisini olu\u015fturma\n        service = build('people', 'v1', credentials=creds)\n\n        # People API'yi kullanarak kullan\u0131c\u0131n\u0131n bilgilerini alma\n        # resourceName format\u0131 \"people\/GoogleID\" \u015feklindedir\n        # personFields olarak sadece \"emailAddresses\" istiyoruz\n        person = service.people().get(\n            resourceName=f'people\/{chat_user_id_numeric}',\n            personFields='emailAddresses'\n        ).execute()\n\n        if 'emailAddresses' in person and person['emailAddresses']:\n            for email_address in person['emailAddresses']:\n                if email_address.get('value'):\n                    return email_address['value']\n        return None\n\n    except HttpError as err:\n        print(f\"API hatas\u0131 olu\u015ftu: {err}\")\n        if err.resp.status == 404:\n            print(f\"Kullan\u0131c\u0131 ID'si {chat_user_id_numeric} bulunamad\u0131.\")\n        elif err.resp.status == 403:\n            print(\"Yetkilendirme hatas\u0131. Hizmet hesab\u0131n\u0131n veya kimli\u011fine b\u00fcr\u00fcn\u00fclen kullan\u0131c\u0131n\u0131n yeterli izni yok.\")\n        return None\n    except Exception as e:\n        print(f\"Beklenmedik bir hata olu\u015ftu: {e}\")\n        return None\n\n# \u00d6rnek kullan\u0131m:\nif __name__ == '__main__':\n    # Bu de\u011ferleri kendi ortam\u0131n\u0131za g\u00f6re g\u00fcncelleyin\n    CHAT_USER_ID = \"1234567890\"  # Google Chat'ten ald\u0131\u011f\u0131n\u0131z say\u0131sal ID\n    IMPERSONATED_USER = \"admin-user@yourdomain.com\" # Alan\u0131n\u0131zdaki herhangi bir kullan\u0131c\u0131n\u0131n e-postas\u0131 (genellikle y\u00f6netici)\n    SERVICE_ACCOUNT_KEY_PATH = \"path\/to\/your\/service-account-key.json\" # JSON anahtar dosyan\u0131z\u0131n yolu\n\n    email = resolve_chat_user_id_to_email(CHAT_USER_ID, IMPERSONATED_USER, SERVICE_ACCOUNT_KEY_PATH)\n\n    if email:\n        print(f\"Chat Kullan\u0131c\u0131 ID'si {CHAT_USER_ID} i\u00e7in e-posta: {email}\")\n    else:\n        print(f\"Chat Kullan\u0131c\u0131 ID'si {CHAT_USER_ID} i\u00e7in e-posta bulunamad\u0131 veya bir hata olu\u015ftu.\")<\/pre>\n<p><\/code><\/p>\n<p><strong>Not:<\/strong> <code>impersonated_user_email<\/code> parametresi, hizmet hesab\u0131n\u0131n kimli\u011fine b\u00fcr\u00fcnece\u011fi bir kullan\u0131c\u0131n\u0131n e-posta adresidir. Bu kullan\u0131c\u0131, People API'ye eri\u015fim yetkisine sahip olmal\u0131d\u0131r (yani, alan geneli yetkilendirme bu kullan\u0131c\u0131 ad\u0131na \u00e7al\u0131\u015facakt\u0131r). Genellikle, bu bir y\u00f6netici hesab\u0131 veya People API'ye eri\u015fimi olan herhangi bir kullan\u0131c\u0131 olabilir.<\/p>\n<h4>Hata Y\u00f6netimi ve En \u0130yi Uygulamalar<\/h4>\n<p>*   <strong>API Hatalar\u0131n\u0131 Yakalay\u0131n:<\/strong> <code>googleapiclient.errors.HttpError<\/code> gibi \u00f6zel hatalar\u0131 yakalayarak API yan\u0131tlar\u0131n\u0131 do\u011fru \u015fekilde i\u015fleyin (\u00f6rne\u011fin, 404 Not Found, 403 Forbidden).<br \/>\n*   <strong>Yeniden Deneme Mekanizmalar\u0131:<\/strong> Ge\u00e7ici a\u011f sorunlar\u0131 veya API kota limitleri i\u00e7in yeniden deneme mant\u0131\u011f\u0131 uygulay\u0131n (\u00fcstel geri \u00e7ekilme ile).<br \/>\n*   <strong>G\u00fcnl\u00fckleme:<\/strong> T\u00fcm API \u00e7a\u011fr\u0131lar\u0131n\u0131 ve hatalar\u0131 uygun bir g\u00fcnl\u00fckleme sistemiyle kaydedin.<br \/>\n*   <strong>Kimlik Bilgilerini G\u00fcvenli Saklay\u0131n:<\/strong> Hizmet hesab\u0131 anahtar dosyas\u0131n\u0131 asla a\u00e7\u0131k kaynak kod depolar\u0131nda saklamay\u0131n. Ortam de\u011fi\u015fkenleri veya g\u00fcvenli bir s\u0131r y\u00f6neticisi kullan\u0131n.<\/p>\n<h3>Alternatifler ve S\u0131n\u0131rlamalar<\/h3>\n<p>Her ne kadar People API en az ayr\u0131cal\u0131kl\u0131 ve \u00f6nerilen y\u00f6ntem olsa da, baz\u0131 alternatifler ve her yakla\u015f\u0131m\u0131n kendine \u00f6zg\u00fc s\u0131n\u0131rlamalar\u0131 vard\u0131r.<\/p>\n<h4>Google Chat API'nin S\u0131n\u0131rlamalar\u0131<\/h4>\n<p>Google Chat API'si, do\u011frudan kullan\u0131c\u0131 e-posta adreslerini sa\u011flamaz. Bunun temel nedeni, gizlili\u011fi korumak ve uygulamalar\u0131n gereksiz yere hassas bilgilere eri\u015fmesini engellemektir. Bu tasar\u0131m karar\u0131, geli\u015ftiricileri People API gibi daha spesifik ve yetkilendirme a\u00e7\u0131s\u0131ndan daha gran\u00fcler API'lere y\u00f6nlendirir. Gelecekte Chat API'sinin bu konuda bir geli\u015fme sunup sunmayaca\u011f\u0131 belirsizdir, ancak mevcut durumda do\u011frudan e-posta alma yetene\u011fi yoktur.<\/p>\n<h4>\u00d6zel Durumlar ve \u00c7\u00f6z\u00fcmler<\/h4>\n<p>*   <strong>Harici Kullan\u0131c\u0131lar:<\/strong> E\u011fer Google Chat alan\u0131n\u0131zdaki bir kullan\u0131c\u0131, kurulu\u015funuz d\u0131\u015f\u0131ndan (misafir kullan\u0131c\u0131) ise, People API arac\u0131l\u0131\u011f\u0131yla bu kullan\u0131c\u0131n\u0131n e-posta adresini do\u011frudan alamayabilirsiniz. People API genellikle Google Workspace dizininizdeki dahili kullan\u0131c\u0131lar i\u00e7in tasarlanm\u0131\u015ft\u0131r. Bu t\u00fcr durumlarda, Chat mesaj\u0131 i\u00e7eri\u011finden e-posta adresini ayr\u0131\u015ft\u0131rmak veya kullan\u0131c\u0131n\u0131n kendisinden e-posta adresini talep etmek gibi alternatif y\u00f6ntemler d\u00fc\u015f\u00fcn\u00fclmelidir.<br \/>\n*   <strong>Silinmi\u015f Kullan\u0131c\u0131lar:<\/strong> Bir kullan\u0131c\u0131 Google Workspace'ten silindiyse, People API bu kullan\u0131c\u0131n\u0131n kimli\u011fini \u00e7\u00f6zemeyecektir. Bu senaryolarda, uygulaman\u0131z\u0131n uygun hata y\u00f6netimi ve kullan\u0131c\u0131 bilgilendirmesi yapmas\u0131 \u00f6nemlidir.<\/p>\n<h4>Performans ve Kota Y\u00f6netimi<\/h4>\n<p>People API'nin de belirli kota limitleri vard\u0131r. B\u00fcy\u00fck \u00f6l\u00e7ekli uygulamalar veya \u00e7ok say\u0131da kullan\u0131c\u0131 kimli\u011fini ayn\u0131 anda \u00e7\u00f6z\u00fcmlemeniz gerekti\u011finde bu limitleri g\u00f6z \u00f6n\u00fcnde bulundurman\u0131z gerekir.<br \/>\n*   <strong>Toplu \u0130\u015flemler (Batch Requests):<\/strong> Birden fazla kullan\u0131c\u0131 kimli\u011fini tek bir API \u00e7a\u011fr\u0131s\u0131nda \u00e7\u00f6z\u00fcmlemek i\u00e7in People API'nin toplu i\u015flem yeteneklerini kullanabilirsiniz. Bu, API \u00e7a\u011fr\u0131s\u0131 say\u0131s\u0131n\u0131 azaltarak kota kullan\u0131m\u0131n\u0131 optimize eder ve performans\u0131 art\u0131r\u0131r.<br \/>\n*   <strong>\u00d6nbellekleme:<\/strong> S\u0131k\u00e7a sorgulanan kullan\u0131c\u0131lar\u0131n e-posta adreslerini yerel bir veritaban\u0131nda veya \u00f6nbellekte saklayarak gereksiz API \u00e7a\u011fr\u0131lar\u0131n\u0131 \u00f6nleyebilirsiniz. \u00d6nbelle\u011fi belirli aral\u0131klarla yenilemeyi unutmay\u0131n.<br \/>\n*   <strong>Hata Y\u00f6netimi:<\/strong> Kota limitlerine ula\u015f\u0131ld\u0131\u011f\u0131nda API'nin d\u00f6nd\u00fcrece\u011fi hatalar\u0131 (genellikle 429 Too Many Requests) yakalay\u0131n ve \u00fcstel geri \u00e7ekilme (exponential backoff) stratejisi ile yeniden denemeler yap\u0131n.<\/p>\n<h3>G\u00fcvenlik ve Gizlilik En \u0130yi Uygulamalar\u0131<\/h3>\n<p>En az ayr\u0131cal\u0131k prensibi, g\u00fcvenli bir mimarinin sadece bir par\u00e7as\u0131d\u0131r. Genel g\u00fcvenlik ve gizlilik duru\u015funuzu g\u00fc\u00e7lendirmek i\u00e7in ek en iyi uygulamalar\u0131 benimsemek \u00f6nemlidir.<\/p>\n<h4>Eri\u015fim Kontrol\u00fc ve Rol Y\u00f6netimi<\/h4>\n<p>*   <strong>Hizmet Hesab\u0131 Yetkileri:<\/strong> Hizmet hesaplar\u0131na yaln\u0131zca g\u00f6revi i\u00e7in gerekli olan minimum yetkileri verin. Alan geneli yetkilendirme kullan\u0131yorsan\u0131z, yaln\u0131zca <code>userinfo.email<\/code> gibi dar kapsamlar\u0131 ekleyin.<br \/>\n*   <strong>IAM Rolleri:<\/strong> Google Cloud projenizde, hizmet hesaplar\u0131na veya kullan\u0131c\u0131 hesaplar\u0131na atad\u0131\u011f\u0131n\u0131z IAM (Identity and Access Management) rollerini dikkatlice y\u00f6netin. Gereksiz veya geni\u015f yetkilere sahip rollerden ka\u00e7\u0131n\u0131n.<br \/>\n*   <strong>S\u0131r Y\u00f6netimi:<\/strong> API anahtarlar\u0131 ve hizmet hesab\u0131 JSON dosyalar\u0131 gibi hassas kimlik bilgilerini g\u00fcvenli bir \u015fekilde saklay\u0131n. Google Secret Manager gibi bir s\u0131r y\u00f6netimi hizmeti kullanmak en iyi yakla\u015f\u0131md\u0131r.<\/p>\n<h4>Veri Saklama ve Silme Politikalar\u0131<\/h4>\n<p>*   <strong>Gereksiz Veri Saklamay\u0131n:<\/strong> \u00c7\u00f6z\u00fcmlenen e-posta adreslerini, g\u00f6reviniz i\u00e7in kesinlikle gerekli olandan daha uzun s\u00fcre saklamay\u0131n.<br \/>\n*   <strong>Veri Minimallik:<\/strong> Yaln\u0131zca ihtiyac\u0131n\u0131z olan veriyi toplay\u0131n ve saklay\u0131n. \u00d6rne\u011fin, sadece e-posta adresine ihtiyac\u0131n\u0131z varsa, kullan\u0131c\u0131n\u0131n tam profilini saklamay\u0131n.<br \/>\n*   <strong>Silme Politikalar\u0131:<\/strong> Saklad\u0131\u011f\u0131n\u0131z veriler i\u00e7in net veri saklama ve silme politikalar\u0131 olu\u015fturun ve uygulay\u0131n.<\/p>\n<h4>Denetim Kay\u0131tlar\u0131 ve \u0130zleme<\/h4>\n<p>*   <strong>API Etkinli\u011fi \u0130zleme:<\/strong> Google Cloud'daki Cloud Audit Logs'u kullanarak People API \u00e7a\u011fr\u0131lar\u0131n\u0131 ve hizmet hesab\u0131 etkinli\u011fini izleyin. Bu, olas\u0131 k\u00f6t\u00fcye kullan\u0131mlar\u0131 veya yetkisiz eri\u015fim giri\u015fimlerini tespit etmenize yard\u0131mc\u0131 olur.<br \/>\n*   <strong>Uygulama G\u00fcnl\u00fckleri:<\/strong> Uygulaman\u0131z\u0131n kendi i\u00e7inde de kimlik \u00e7\u00f6z\u00fcmleme i\u015flemlerini, ba\u015far\u0131lar\u0131 ve hatalar\u0131 kaydedin. Bu g\u00fcnl\u00fckler, sorun giderme ve g\u00fcvenlik analizi i\u00e7in kritik \u00f6neme sahiptir.<br \/>\n*   <strong>Uyar\u0131lar Kurun:<\/strong> Ola\u011fand\u0131\u015f\u0131 API kullan\u0131m modelleri (\u00f6rne\u011fin, normalden \u00e7ok daha fazla \u00e7a\u011fr\u0131) veya yetkilendirme hatalar\u0131 i\u00e7in otomatik uyar\u0131lar yap\u0131land\u0131r\u0131n.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Google Chat kullan\u0131c\u0131 kimliklerini e-postalara \u00e7\u00f6z\u00fcmlemek, bir\u00e7ok entegrasyon ve i\u015f ak\u0131\u015f\u0131 i\u00e7in vazge\u00e7ilmez bir gereksinimdir. Ancak bu s\u00fcre\u00e7, g\u00fcvenlik ve gizlilik a\u00e7\u0131s\u0131ndan dikkatle ele al\u0131nmal\u0131d\u0131r. \"En az ayr\u0131cal\u0131k\" prensibini benimseyerek ve Google People API'sini do\u011fru kapsamlarla kullanarak, bu ihtiyac\u0131 g\u00fcvenli ve verimli bir \u015fekilde kar\u015f\u0131layabiliriz. Admin SDK gibi daha geni\u015f yetkiler gerektiren y\u00f6ntemlerden ka\u00e7\u0131nmak, potansiyel veri s\u0131z\u0131nt\u0131s\u0131 risklerini azalt\u0131r ve uygulaman\u0131z\u0131n genel g\u00fcvenlik duru\u015funu g\u00fc\u00e7lendirir. Bu makalede sunulan ad\u0131mlar ve kod \u00f6rnekleri, geli\u015ftiricilere bu prensipleri pratik olarak uygulamalar\u0131 i\u00e7in bir yol haritas\u0131 sunmaktad\u0131r. Unutmay\u0131n, g\u00fcvenlik bir s\u00fcre\u00e7tir ve s\u00fcrekli dikkat ile iyile\u015ftirme gerektirir.<\/p>\n<h3>SSS (S\u0131k Sorulan Sorular)<\/h3>\n<h4>Neden Google Chat API'si do\u011frudan e-posta sa\u011flam\u0131yor?<\/h4>\n<p>Google Chat API'si, kullan\u0131c\u0131 gizlili\u011fini korumak amac\u0131yla do\u011frudan e-posta adreslerini sa\u011flamaz. Bunun yerine, anonimle\u015ftirilmi\u015f kullan\u0131c\u0131 kimlikleri sunar. Bu tasar\u0131m, uygulamalar\u0131n yaln\u0131zca belirli bir g\u00f6rev i\u00e7in gerekli olan minimum bilgiye eri\u015fmesini te\u015fvik eder.<\/p>\n<h4>People API kullanmak ne kadar g\u00fcvenli?<\/h4>\n<p>People API, do\u011fru kapsamlar ve \"en az ayr\u0131cal\u0131k\" prensibiyle kullan\u0131ld\u0131\u011f\u0131nda olduk\u00e7a g\u00fcvenlidir. \u00d6rne\u011fin, sadece <code>userinfo.email<\/code> kapsam\u0131n\u0131 kullanmak, uygulaman\u0131z\u0131n yaln\u0131zca kullan\u0131c\u0131n\u0131n e-posta adresine eri\u015fmesini sa\u011flar ve di\u011fer hassas bilgilere eri\u015fimi engeller. Alan geneli yetkilendirme ile bir hizmet hesab\u0131 kullanmak, son kullan\u0131c\u0131 yetkilendirmesine k\u0131yasla daha kontroll\u00fc bir ortam sunar.<\/p>\n<h4>Hangi API kapsamlar\u0131na ihtiyac\u0131m var?<\/h4>\n<p>Yaln\u0131zca kullan\u0131c\u0131n\u0131n e-posta adresini almak istiyorsan\u0131z, en dar kapsam <code>https:\/\/www.googleapis.com\/auth\/userinfo.email<\/code>'dir. E\u011fer kullan\u0131c\u0131n\u0131n ad\u0131 veya profil foto\u011fraf\u0131 gibi ek temel bilgilere de ihtiyac\u0131n\u0131z varsa, <code>https:\/\/www.googleapis.com\/auth\/userinfo.profile<\/code> kapsam\u0131n\u0131 kullanabilirsiniz.<\/p>\n<h4>Bu y\u00f6ntem t\u00fcm Google Chat kullan\u0131c\u0131lar\u0131 i\u00e7in \u00e7al\u0131\u015f\u0131r m\u0131?<\/h4>\n<p>Bu y\u00f6ntem, Google Workspace dizininizdeki dahili kullan\u0131c\u0131lar i\u00e7in sorunsuz \u00e7al\u0131\u015f\u0131r. Harici (misafir) kullan\u0131c\u0131lar i\u00e7in People API do\u011frudan \u00e7\u00f6z\u00fcmleme yapamayabilir, \u00e7\u00fcnk\u00fc bu kullan\u0131c\u0131lar genellikle sizin Google Workspace dizininizin bir par\u00e7as\u0131 de\u011fildir. Bu t\u00fcr durumlar i\u00e7in alternatif \u00e7\u00f6z\u00fcm yollar\u0131 d\u00fc\u015f\u00fcn\u00fclmelidir.<\/p>\n<h4>Kota limitleri var m\u0131?<\/h4>\n<p>Evet, Google People API'nin de di\u011fer Google API'leri gibi belirli kullan\u0131m kota limitleri vard\u0131r. B\u00fcy\u00fck \u00f6l\u00e7ekli uygulamalar i\u00e7in toplu istekler, \u00f6nbellekleme ve \u00fcstel geri \u00e7ekilme ile hata y\u00f6netimi gibi stratejiler kullanarak kota kullan\u0131m\u0131n\u0131 optimize etmek \u00f6nemlidir. Mevcut kota limitlerini Google Cloud Console'dan kontrol edebilirsiniz.<\/p>\n","protected":false},"excerpt":{"rendered":"Google Chat Kullan\u0131c\u0131 Kimliklerini E-postalara \u00c7\u00f6z\u00fcmleme: En Az Ayr\u0131cal\u0131k Prensibiyle G\u00fcvenli Yakla\u015f\u0131m\nGoogle Chat, ekipler aras\u0131 ileti\u015fimi ve i&#8230;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-36842","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Google Chat Kullan\u0131c\u0131 Kimliklerini E-postalara \u00c7\u00f6z\u00fcmleme: En Az Ayr\u0131cal\u0131k Prensibiyle G\u00fcvenli Yakla\u015f\u0131m - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Google Chat Kullan\u0131c\u0131 Kimliklerini E-postalara \u00c7\u00f6z\u00fcmleme: En Az Ayr\u0131cal\u0131k Prensibiyle G\u00fcvenli Yakla\u015f\u0131m\" \/>\n<meta property=\"og:description\" content=\"Google Chat Kullan\u0131c\u0131 Kimliklerini E-postalara \u00c7\u00f6z\u00fcmleme: En Az Ayr\u0131cal\u0131k Prensibiyle G\u00fcvenli Yakla\u015f\u0131m Google Chat, ekipler aras\u0131 ileti\u015fimi ve i...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-23T19:00:44+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Google Chat Kullan\u0131c\u0131 Kimliklerini E-postalara \u00c7\u00f6z\u00fcmleme: En Az Ayr\u0131cal\u0131k Prensibiyle G\u00fcvenli Yakla\u015f\u0131m\",\"datePublished\":\"2025-12-23T19:00:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/\"},\"wordCount\":3291,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/\",\"name\":\"Google Chat Kullan\u0131c\u0131 Kimliklerini E-postalara \u00c7\u00f6z\u00fcmleme: En Az Ayr\u0131cal\u0131k Prensibiyle G\u00fcvenli Yakla\u015f\u0131m - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-23T19:00:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Google Chat Kullan\u0131c\u0131 Kimliklerini E-postalara \u00c7\u00f6z\u00fcmleme: En Az Ayr\u0131cal\u0131k Prensibiyle G\u00fcvenli Yakla\u015f\u0131m\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Google Chat Kullan\u0131c\u0131 Kimliklerini E-postalara \u00c7\u00f6z\u00fcmleme: En Az Ayr\u0131cal\u0131k Prensibiyle G\u00fcvenli Yakla\u015f\u0131m - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/","og_locale":"tr_TR","og_type":"article","og_title":"Google Chat Kullan\u0131c\u0131 Kimliklerini E-postalara \u00c7\u00f6z\u00fcmleme: En Az Ayr\u0131cal\u0131k Prensibiyle G\u00fcvenli Yakla\u015f\u0131m","og_description":"Google Chat Kullan\u0131c\u0131 Kimliklerini E-postalara \u00c7\u00f6z\u00fcmleme: En Az Ayr\u0131cal\u0131k Prensibiyle G\u00fcvenli Yakla\u015f\u0131m Google Chat, ekipler aras\u0131 ileti\u015fimi ve i...","og_url":"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-23T19:00:44+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"19 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Google Chat Kullan\u0131c\u0131 Kimliklerini E-postalara \u00c7\u00f6z\u00fcmleme: En Az Ayr\u0131cal\u0131k Prensibiyle G\u00fcvenli Yakla\u015f\u0131m","datePublished":"2025-12-23T19:00:44+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/"},"wordCount":3291,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/","url":"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/","name":"Google Chat Kullan\u0131c\u0131 Kimliklerini E-postalara \u00c7\u00f6z\u00fcmleme: En Az Ayr\u0131cal\u0131k Prensibiyle G\u00fcvenli Yakla\u015f\u0131m - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-23T19:00:44+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/google-chat-kullanici-kimliklerini-e-postalara-cozumleme-en-az-ayricalik-prensibiyle-guvenli-yaklasim\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Google Chat Kullan\u0131c\u0131 Kimliklerini E-postalara \u00c7\u00f6z\u00fcmleme: En Az Ayr\u0131cal\u0131k Prensibiyle G\u00fcvenli Yakla\u015f\u0131m"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=36842"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36842\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36842"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}