Başlayın

Bu dokümanda, Google Site Doğrulama API'sini kullanmanız için gereken temel bilgiler verilmektedir.

Giriş

Google Site Doğrulama API'si, site veya alan sahipliğini doğrulama sürecini otomatikleştiren uygulamalar veya hizmetler yazmak isteyen geliştiriciler için tasarlanmıştır. Bazı Google hizmetleri yalnızca web sitesi veya alan sahipleri tarafından kullanılabileceği için bu önemlidir. Kimliği doğrulanmış kullanıcının, alan veya sitenin sahibi olduğunu doğrulamak için Google Site Doğrulama API'sini kullanabilirsiniz. Bu doğrulama işlemi, muhtemelen diğer Google hizmetlerinin programatik olarak temel hazırlığının ilk adımı olarak yapılabilir.

Bu dokümanda, web programlama kavramlarına, web veri biçimlerine aşina olduğunuz ve web sitenizin veya alanınızın dosyalarını ya da DNS kayıtlarını programatik olarak değiştirebileceğiniz varsayılmaktadır.

Genel bakış

Kullanıcının Google site doğrulama verilerini değiştirmek için Google Site Doğrulama API'sini kullanabilirsiniz. Kullanıcılar, belirli Google hizmetlerine yalnızca doğrulama verileri belirli bir web sitesi alanının sahibi olduğunu gösteriyorsa erişebilir. Bu API'yi, kimliği doğrulanmış kullanıcılar için doğrulama jetonları oluşturmak amacıyla kullanabilirsiniz. Doğrulama jetonları, kullanıcılarınızın adına web sitelerinize veya alan kayıtlarınıza çeşitli şekillerde yerleştirilebilir. Jeton yerleştirildikten sonra Google'dan jetonu kontrol etmesini istemek için API'ye çağrı yaparsınız. Google jetonu bulursa kimliği doğrulanmış kullanıcıyı web sitesinin veya alanın sahibi olarak kaydeder. Kullanıcı adına sahiplik listesini değiştirmek veya site sahipliğini tamamen kaldırmak için de API'yi kullanabilirsiniz.

Tüm API çağrılarının kimliği doğrulanmış bir kullanıcı tarafından yetkilendirilmesi gerekir ve tüm API çağrıları, kimliği doğrulanmış kullanıcının hesabı bağlamında yürütülür.

Bu API'yi ne zaman kullanabileceğinize dair somut bir örnek olarak web barındırma hizmeti sağladığınızı varsayalım. Kullanıcılarınız siteleri hakkında bilgi almak için Google'ın Search Console hizmetini kullanabilecekler. Bunu yapabilmeleri için Google'ın hesabın gerçekten sahibi olduğunu bilmesi gerekir. Böylece kullanıcılarınıza, sitenin sahipliğini doğrulamalarını isteyen bir arayüz sağlarsınız. Uygulamanıza doğrulama verileri için erişim izni verir. Bu hizmet, artık kullanıcılar adına bir jeton isteyen, kodu site yapısındaki bir dosyaya yerleştiren ve Google'dan bunu kontrol etmesini isteyen kodu çalıştırabilir. Google jetonu bulduğunda, doğrulama verilerini güncelleyerek kullanıcıya sitenin sahipliğini verir. Artık Search Console'u kullanarak istediği bilgiye ulaşabiliyor.

Başlamadan önce

Bir Google Hesabı edinin

Google Hesabınız olduğundan emin olmalısınız. Kendinizi yanlışlıkla veri kaybına karşı korumak için geliştirme ve test amacıyla ayrı bir Google Hesabı kullanmanızı öneririz.

Site Doğrulama hakkında bilgi edinin

Google Site Doğrulama API'sı kavramlarına aşina değilseniz kodlamaya başlamadan önce bu dokümanı okumanız, doğrulama kullanıcı arayüzü ile denemeler yapmanız ve ilişkili yardım belgelerini okumanız gerekir.

İstekleri nasıl yetkilendireceğinizi öğrenin

Uygulamanızın Google Site Doğrulama API'sine gönderdiği her istek bir yetkilendirme jetonu içermelidir. Bu jeton ayrıca uygulamanızı Google'a tanıtır.

Yetkilendirme protokolleri hakkında

Uygulamanız, istekleri yetkilendirmek için OAuth 2.0 kullanmalıdır. Başka hiçbir yetkilendirme protokolü desteklenmez. Uygulamanız Google ile Oturum Açma işlevini kullanırsa yetkilendirme işleminin bazı kısımları sizin için gerçekleştirilir.

OAuth 2.0 kullanarak istekleri yetkilendirme

Google Site Doğrulama API'sine yapılan tüm isteklerin, kimliği doğrulanmış bir kullanıcı tarafından yetkilendirilmesi gerekir.

OAuth 2.0 ile yetkilendirme işleminin ("akış") ayrıntıları, yazdığınız uygulamanın türüne bağlı olarak değişiklik gösterir. Aşağıdaki genel işlem tüm uygulama türleri için geçerlidir:

  1. Uygulamanızı oluştururken Google API Konsolu'nu kullanarak kaydedersiniz. Ardından Google, daha sonra ihtiyaç duyacağınız bilgiler (ör. istemci kimliği ve istemci gizli anahtarı) sağlar.
  2. Google API Doğrulama'da Google Site Doğrulama API'sini etkinleştirin. (API, API Konsolu'nda listelenmemişse bu adımı atlayın.)
  3. Uygulamanız kullanıcı verilerine erişmesi gerektiğinde Google'dan belirli bir erişim kapsamı ister.
  4. Google, kullanıcıya uygulamanızı kullanıcının verilerinden bazılarını istemeye yetkilendirmesi için bir onay ekranı gösterir.
  5. Kullanıcı onaylarsa Google, uygulamanıza kısa süreli bir erişim jetonu verir.
  6. Uygulamanız, erişim jetonunu isteğe ekleyerek kullanıcı verileri için istekte bulunur.
  7. Google, isteğinizin ve jetonun geçerli olduğuna kanaat getirirse istenen verileri döndürür.

Bazı akışlarda başka adımlar da yer alır. Örneğin, yeni erişim jetonları almak için yenileme jetonları kullanmak. Farklı uygulama türlerine yönelik akışlar hakkında ayrıntılı bilgi için Google'ın OAuth 2.0 dokümanlarına bakın.

Google Site Doğrulama API'sinin OAuth 2.0 kapsam bilgileri şöyledir:

Kapsam Anlamı
https://www.googleapis.com/auth/siteverification Doğrulanmış mevcut siteler için tam okuma erişimi, yeni siteleri doğrulama özelliği.
https://www.googleapis.com/auth/siteverification.verify_only Yeni siteleri doğrulayabilme, mevcut doğrulanmış siteler için okuma erişimi olmaması.

Uygulamanızın OAuth 2.0 kullanarak erişim isteğinde bulunabilmesi için hem kapsam bilgilerine hem de uygulamanızı kaydederken Google tarafından sağlanan bilgilere (ör. istemci kimliği ve istemci gizli anahtarı) ihtiyacı vardır.

İpucu: Google API'leri istemci kitaplıkları, yetkilendirme işleminin bazı adımlarını sizin yerinize gerçekleştirebilir. Bu kitaplıklar çeşitli programlama dilleri için kullanıma sunulmuştur. Ayrıntılar için kitaplıkların ve örneklerin bulunduğu sayfayı inceleyin.

Google Site Doğrulama API'sı arka planı

Kavramlar

Bir kullanıcının aşağıdaki web kaynağı türlerine sahip olmasını sağlamak için Google Site Doğrulama API'sini kullanabilirsiniz:

  • Alan adı: Bir alan veya alt alan. Bir alanın sahibi, o alanın altındaki tüm sitelerin ve alt alanların sahibi olarak kabul edilir. Örneğin, bar.com adlı yerin doğrudan sahibinin de foo.bar.com alanının dolaylı sahibi olduğu kabul edilir.
  • Site: Bir web sitesinin temel alanına ve yoluna karşılık gelen URL. Bir sitenin sahibi, altındaki tüm sitelerin sahibi olarak kabul edilir. Örneğin, "http://www.example.com/site"nin sahibi de "http://www.example.com/site/altsite"nin sahibi olarak kabul edilir.

Alan sahipliği site sahipliğinden daha geniş kapsamlı olduğundan, uygun olduğu durumlarda alan adlarıyla doğrulama yapmanızı öneririz.

Sahiplik oluşturma süreci, kullanıcı adına bir "doğrulama jetonu" isteyen başvurunuzla başlar. Doğrulama jetonu, kodunuzun web sitesine veya alan adına yerleştirilmesi gereken özel bir dizedir. Jeton yerleştirildikten sonra, uygulamanız jetonu kontrol eden ve bulunduğunda sahipliği kaydeden Google Site Doğrulama API'sine bir istek gönderebilir.

Sınırlamalar

Google Site Doğrulama API'si, güvenlik ve teknik nedenlerle, kullanımıyla ilgili bazı kısıtlamalar uygular:

  • Yalnızca kimliği doğrulanmış kullanıcı için veri erişimi: Tüm işlemler için kimlik doğrulama ve yetkilendirme gerekir.
  • Yalnızca kimliği doğrulanmış kullanıcı için doğrulama: API, yalnızca şu anda kimliği doğrulanmış hesap için sitelerin veya alan adlarının sahipliğini doğrulayabilir. Ancak, kimliği doğrulanmış kullanıcı, bir sitenin sahipliği doğrulandıktan sonra diğer kullanıcılara sahiplik yetkisi verebilir. Sahiplik listesinde değişiklik yapıldığında tüm sahiplere e-posta ile bilgi verildiğini unutmayın.
  • Yalnızca normalleştirilmiş URL'ler ve alan adları. Google Site Doğrulama API'si, IDN (Uluslararası Alan Adı) kodlamasını desteklemez. Gerekirse Punycoding kullanarak tüm URL'leri, alan adlarını ve e-posta adresi alanlarını standart alan adı karakter grubuna (RFC 1034 §3.5) normalleştirdiğinizden emin olun.

Doğrulama yöntemleri ve jetonları

API, ayrı doğrulama aşamaları için çağrılar sağlar:

  • Doğrulama jetonu yerleştirme: Kimliği doğrulanmış kullanıcının sitesine yerleştirmek üzere doğrulama jetonu almak için kullanılan bir API çağrısı vardır. Bir kullanıcının birden fazla sitesi varsa her site için farklı bir jeton almanız gerekir.
  • Doğrulama jetonunun mevcut olup olmadığını kontrol etme: Kimliği doğrulanmış kullanıcının bir sitenin sahibi olduğunun doğrulanması için Google'dan jetonu kontrol etmesini istemek üzere ayrı bir API çağrısı yapılır.

Uygulamanızın kullanabileceği bir web sitesini veya alanı doğrulamanın çeşitli yolları vardır. Bunlardan biri, sizin ihtiyaçlarınıza en uygun olan yöntemin hangisi olduğuna bağlıdır. Hem jetonun türünü hem de jetonu nereye yerleştireceğiniz, seçtiğiniz doğrulama yöntemine bağlıdır.

Alan doğrulama yöntemi

Alanlar için kullanılabilen iki doğrulama yöntemi vardır:

DNS_CNAME

Uygulamanız, kayıt sahibinin jetonunu kullanarak büyük olasılıkla alan adı kayıt sitesi üzerinden sahibinin alan adı için yeni bir CNAME kaydı oluşturur. Jeton, boşlukla ayrılmış iki bölümden oluşur: İlk bölüm yeni CNAME kaydının adı, ikinci bölüm ise yeni CNAME kaydının değeridir.

DNS_TXT

Uygulamanız, kayıt sahibinin jetonunu kullanarak büyük olasılıkla alan adı kayıt sitesi üzerinden sahibinin alan adı için yeni bir TXT kaydı oluşturur.

Daha fazla bilgi için DNS doğrulama yöntemi ile ilgili yardım merkezi dokümanlarına bakın.

Site doğrulama yöntemleri

Siteler için üç doğrulama yöntemi kullanılabilir:

Dosya
Uygulamanız, jetonu dosya biçiminde dosya sahibinin web sitesine yerleştirir. Aşağıdaki içeriklerden oluşan jeton dizesiyle eşleşecek bir ad oluşturmanız gerekir:
google-site-verification: token

Örneğin, bir kullanıcı http://www.example.com/ sitesinin sahibiyse ve döndürülen jeton google12cfc68677988bb4.html ise http://www.example.com/google12cfc68677988bb4.html (sitesinin en üst düzeyinde) şu içerikle bir dosya oluşturmanız yeterlidir:

google-site-verification: google12cfc8677988bb4.html

Daha fazla bilgi için Dosya doğrulama yöntemi ile ilgili yardım merkezi dokümanlarını inceleyin.

Meta

Uygulamanız, jetonu site sahibinin sitesinin en üst düzeyindeki bir HTML <meta> etiketi biçiminde, varsayılan dosyanın <head> öğesine (index.html, default.html vb.) ekler. Meta doğrulama jetonu olan bir HTML dosyası aşağıdaki gibi görünebilir:

<html>
  <head>
    <title>Awesome Dive Sites</title>
    <meta name="google-site-verification" content="-dhsoFQadgDKJR7BsB6bc1j5yfqjUpg_b-1pFjr7o3x" />
  </head>
  <body>
    ...

Daha fazla bilgi için Meta doğrulama yöntemi ile ilgili yardım merkezi belgelerini inceleyin.

Analytics

Uygulamanız, sahibinin web sitesinde bulunan mevcut bir Google Analytics izleme kodunu kullanır. İzleme kodu, Analytics hesabına ait olmalıdır ve snippet'in çalışması için HEAD etiketine yerleştirilmesi gerekir. Daha fazla bilgi için Analytics doğrulama yöntemi ile ilgili yardım merkezi dokümanlarını inceleyin.

Etiket Yöneticisi

Uygulamanız, sahibinin web sitesinde mevcut olan mevcut bir Google Etiket Yöneticisi kapsayıcı kodunu kullanıyor. Kapsayıcı kodu, Etiket Yöneticisi hesabına ait olmalıdır. Daha fazla bilgi için Etiket Yöneticisi doğrulama yöntemi konulu yardım merkezi dokümanını inceleyin.

İlk olarak Site Doğrulama kullanıcı arayüzü ile birkaç siteyi manuel olarak doğrulamayı denerseniz temel kavramları ve iş akışını anlamanıza yardımcı olabilir.

Veri modeli

Web Kaynağı

Google Site Doğrulama API'si, web kaynakları adı verilen varlıklara REST anlamları (HTTP GET, POST vb.) uygular. Web Kaynağı, kimliği doğrulanmış kullanıcıya ait bir web sitesi veya alandır.

Bir web kaynağı örneğini burada bulabilirsiniz:

{
  "owners": [
    "myself@example.com",
    "another@example.com"
  ],
  "id": "http%3A%2F%2Fwww.example.com%2F",
  "site": {
    "identifier": "http://www.example.com/",
    "type": "SITE"
  }
}

id alanı, bu web kaynağı için benzersiz bir tanımlayıcıdır. Almak ve değiştirmek üzere ilgili web kaynağına başvurmak için bunu kullanırsınız. Daha sonra tanımlayıcı olarak kullanmak üzere liste işleminin çıktısından id alanını depolayın.

site nesnesi, web kaynağının URL'sini veya alan adını ve kaynağın türünü içerir. Siteler SITE türü ile, alanlar ise INET_DOMAIN türüyle belirtilir.

owners dizisi, web kaynağı sahiplerinin e-posta adresleriyle temsil edilen tam listesidir. Kimlik doğrulaması yapılan kullanıcı, sahipler listesine e-posta adresi ekleyerek veya mevcut e-posta adreslerini kaldırarak diğer kullanıcılara ortak sahiplik verebilir veya sahipliklerini iptal edebilir. Siteye veya alana kendi jetonlarını yerleştirmiş olan diğer sahipler de sahipler listesinde ortak sahipleri ile birlikte görünür.

Ortak sahiplik verilmiş kullanıcılar, sitede jeton bulunan en az bir doğrulanmış sahip olduğu sürece ortak sahiplik de verebilir.

Web Kaynağı Toplama

Web kaynağı koleksiyonu, kimliği doğrulanmış kullanıcıya ait tüm web kaynaklarının tam listesidir. Kimliği doğrulanmış kullanıcının web kaynağı koleksiyonuna yeni web kaynakları eklemeyi deneyerek sitelerin veya alan adlarının sahipliğini doğrulayabilirsiniz. Koleksiyonlarına yalnızca doğrulanmış siteler veya alanlar başarıyla eklenir.

Daha önce Sınırlamalar bölümünde belirtildiği gibi, kimliği doğrulanmış kullanıcı dışındaki kullanıcılara ait olan web kaynaklarına Site Doğrulama API'si üzerinden erişilemez.