Wprowadzenie

Ten dokument zawiera szczegółową wiedzę na temat korzystania z interfejsu Google Site Verification API.

Wprowadzenie

Interfejs Google Site Verification API jest przeznaczony dla programistów, którzy chcą pisać aplikacje lub usługi, automatyzować proces weryfikacji własności witryny lub domeny. To ważne, ponieważ niektóre Z usług Google mogą korzystać tylko właściciele witryn lub domen. Interfejsu API weryfikacji witryn Google można użyć do zweryfikować, czy uwierzytelniony użytkownik jest właścicielem domeny lub witryny, prawdopodobnie w ramach automatyzacji obsługi innych usług Google.

W tym dokumencie zakładamy, że znasz pojęcia programowania stron internetowych, formaty danych i możliwość programowej modyfikacji plików lub rekordów DNS witryny lub domeny;

Omówienie

Interfejs API weryfikacji witryny Google umożliwia modyfikowanie danych weryfikacyjnych użytkownika dotyczących witryn Google. Użytkownicy mogą mieć tylko uzyskać dostęp do określonych usług Google, jeśli z danych weryfikacyjnych wynika, że są oni właścicielami domeny w konkretnej domenie witryny. Interfejsu API można używać do generowania tokenów weryfikacyjnych dla uwierzytelnionych użytkowników, które kod może na różne sposoby umieścić w witrynach lub rekordach domeny w imieniu Google. Po skonfigurowaniu tokena wywołujesz interfejs API, aby poprosić Google o sprawdzenie token. Jeśli Google znajdzie ten token, zarejestruje uwierzytelnionego użytkownika jako właściciela witryny. lub domenę. Za pomocą interfejsu API możesz też modyfikować listę własności w imieniu użytkownika lub całkowicie usunąć prawo własności do witryny.

Wszystkie wywołania interfejsu API muszą być autoryzowane przez uwierzytelnionego użytkownika i są wykonywane w kontekście konta uwierzytelnionego użytkownika.

Konkretnym przykładem zastosowania tego interfejsu API jest założenie, że oferujesz usługę hostingu WWW. Twoi użytkownicy chcą mieć dostęp do usługi Google Search Console w celu uzyskania informacji o swojej witrynie. Aby było to możliwe, Google musi mieć pewność, że naprawdę się nim. Trzeba więc udostępnić użytkownikom interfejs, który prosi o weryfikację jako właściciel witryny. Przyznają aplikacji dostęp do danych weryfikacyjnych, dzięki czemu teraz uruchamiają kod, który wysyła żądanie tokena w ich imieniu, i umieszcza go w pliku w witrynie i prosi Google o jej sprawdzenie. Po znalezieniu tokena Google przyznaje prawo własności użytkownikowi, aktualizując dane weryfikacyjne. Może teraz używać Search Console, aby uzyskać informacji, których potrzebują.

Zanim rozpoczniesz

Załóż konto Google

Sprawdź, czy masz skonfigurowane konto Google. Do programowania i testowania zalecamy używanie oddzielnego konta Google, aby chronić się przed przypadkową utratą danych.

Zapoznaj się z weryfikacją witryny

Jeśli nie znasz zagadnień interfejsu Google Site Verification API, przeczytaj ten dokument, poeksperymentuj z interfejsem użytkownika do weryfikacji i przed rozpoczęciem pisania kodu zapoznaj się z powiązaną dokumentacją pomocy.

Dowiedz się, jak autoryzować żądania

Każde żądanie wysyłane przez aplikację do interfejsu Google Site Verification API musi zawierać token autoryzacji. Token stanowi też dla Google identyfikator aplikacji.

Informacje o protokołach autoryzacji

Twoja aplikacja musi autoryzować żądania za pomocą protokołu OAuth 2.0. Inne protokoły nie są obsługiwane. Jeśli aplikacja używa funkcji Zaloguj się przez Google, niektórymi aspektami autoryzacji nie musisz się zajmować.

Autoryzowanie żądań za pomocą protokołu OAuth 2.0

Wszystkie żądania wysyłane do interfejsu Google Site Verification API muszą być autoryzowane przez uwierzytelnionego użytkownika.

Szczegóły procesu autoryzacji z użyciem protokołu OAuth 2.0 różnią się nieznacznie w zależności od rodzaju projektowanej aplikacji. Do większości typów aplikacji ma zastosowanie ten ogólny proces:

  1. Gdy tworzysz aplikację, rejestrujesz ją, korzystając z konsoli interfejsów API Google. Następnie Google przekazuje informacje, które są potrzebne później, takie jak identyfikator klienta i tajny klucz klienta.
  2. Aktywuj interfejs Google Site Verification API w konsoli interfejsów API Google. (jeśli interfejsu API nie ma na liście w konsoli, pomijasz ten krok).
  3. Gdy Twoja aplikacja potrzebuje dostępu do danych użytkownika, prosi Google o konkretny zakres dostępu.
  4. Google wyświetla użytkownikowi ekran zgody z prośbą o autoryzowanie dostępu aplikacji do niektórych danych.
  5. Jeśli użytkownik wyrazi zgodę, Google przekazuje Twojej aplikacji ważny przez krótki czas token dostępu.
  6. Aplikacja żąda danych użytkownika i dołącza do żądania token dostępu.
  7. Jeśli Google uzna, że żądanie i token są prawidłowe, przesyła dane, o które prosisz.

Niektóre procesy obejmują dodatkowe kroki, takie jak wykorzystanie tokenów odświeżania do uzyskania nowych tokenów dostępu. Szczegółowe informacje o procesach obowiązujących w przypadku różnych typów aplikacji znajdziesz w dokumencie Google na temat protokołu OAuth 2.0.

Oto informacje o zakresie protokołu OAuth 2.0 dla interfejsu Google Site Verification API:

Zakres Znaczenie
https://www.googleapis.com/auth/siteverification Pełny dostęp z możliwością odczytu do istniejących zweryfikowanych witryn, możliwość weryfikacji nowych witryn.
https://www.googleapis.com/auth/siteverification.verify_only Możliwość weryfikacji nowych witryn. Brak uprawnień do odczytu istniejących zweryfikowanych witryn.

Aby poprosić o dostęp przy użyciu protokołu OAuth 2.0, aplikacja potrzebuje danych z zakresu oraz informacji przekazywanych przez Google po zarejestrowaniu aplikacji (takich jak identyfikator klienta i tajny klucz klienta).

Wskazówka: biblioteki klienta interfejsów API Google mogą wykonać niektóre procesy autoryzacji za Ciebie. Są dostępne dla różnych języków programowania. Więcej szczegółów znajdziesz na stronie z bibliotekami i próbkami.

Tło interfejsu Google Site Verification API

Pojęcia

Interfejs API weryfikacji witryny Google umożliwia ustalenie własności tych typów zasobów internetowych:

  • Domena: domena lub subdomena. Właściciel domeny jest uznawany za właściciela wszystkich witryn i subdomen w tej domenie. Na przykład bezpośredni właściciel konta bar.com jest również uważany za pośredniego właściciela witryny foo.bar.com.
  • Witryna: adres URL odpowiadający domenie podstawowej i ścieżce witryny. Właściciel witryny jest uznawany za właściciela wszystkich należących do niej witryn. Na przykład właściciel witryny „http://www.example.com/site” jest również uznawany za właściciela witryny „http://www.example.com/site/podsite”.

Własność domeny ma zastosowanie szersze zastosowanie niż własność witryny, dlatego zalecamy, aby w miarę możliwości przeprowadzić weryfikację za pomocą domen.

Proces określania własności rozpoczyna się od wysłania przez aplikację żądania „tokenu weryfikacyjnego” w imieniu użytkownika. Token weryfikacyjny to specjalny ciąg znaków, który należy następnie umieścić w witrynie lub domenie. Po skonfigurowaniu tokena aplikacja może wysłać do interfejsu Google Site Verification API żądanie, które sprawdza token i odnotowuje jego własność.

Ograniczenia

Ze względów bezpieczeństwa i technicznych interfejs Google Site Verification API narzuca pewne ograniczenia dotyczące sposobu jego użytkowania:

  • Dostęp do danych tylko dla uwierzytelnionego użytkownika: wszystkie operacje wymagają uwierzytelniania i autoryzacji użytkownika.
  • Weryfikacja tylko dla uwierzytelnionego użytkownika: interfejs API może zweryfikować własność tylko witryn lub domen aktualnie uwierzytelnionego konta. Uwierzytelniony użytkownik może jednak przekazać prawo własności innym użytkownikom po potwierdzeniu własności witryny. Pamiętaj, że wszyscy właściciele są powiadamiani e-mailem po wprowadzeniu zmian na liście własności.
  • Tylko znormalizowane adresy URL i nazwy domen. Interfejs Google Site Verification API nie obsługuje kodowania IDN (International Domains). Pamiętaj, aby w razie potrzeby znormalizować wszystkie adresy URL, nazwy domen i domeny adresów e-mail do standardowego zestawu znaków (RFC 1034 § 3.5) przy użyciu Punycoding.

Metody weryfikacji i tokeny

Interfejs API udostępnia wywołania w osobnych etapach weryfikacji:

  • Umieszczanie tokena weryfikacyjnego: zostaje wysłane wywołanie interfejsu API do pobrania tokena weryfikacyjnego i umieszczania go w witrynie uwierzytelnionego użytkownika. Jeśli użytkownik ma więcej niż jedną witrynę, musisz uzyskać inny token dla każdej z nich.
  • Sprawdzanie obecności tokena weryfikacyjnego: istnieje osobne wywołanie interfejsu API z żądaniem Google sprawdzenia tokena w celu potwierdzenia, że uwierzytelniony użytkownik jest właścicielem witryny.

Aplikacja może korzystać z kilku metod weryfikacji witryny lub domeny: Twój wybór zależy od tego, co sprawdzi się najlepiej w przypadku Twoich wymagań. Miejsce, w którym należy umieścić token, oraz jego typ zależą od wybranej metody weryfikacji.

Metoda weryfikacji domeny

W przypadku domen dostępne są 2 metody weryfikacji:

DNS_CNAME

Twoja aplikacja tworzy nowy rekord CNAME dla domeny właściciela, prawdopodobnie za pośrednictwem jego rejestratora domeny, przy użyciu tokena dla danych rekordu. Token składa się z dwóch części rozdzielonych spacją: pierwsza to nazwa nowego rekordu CNAME, a druga wartość nowego rekordu CNAME.

DNS_TXT

Twoja aplikacja tworzy nowy rekord TXT dla domeny właściciela, prawdopodobnie za pośrednictwem jego rejestratora domeny, przy użyciu tokena dla danych rekordu.

Więcej informacji znajdziesz w dokumentacji Centrum pomocy dotyczącej metody weryfikacji DNS.

Metody weryfikacji witryny

Dostępne są trzy metody weryfikacji witryn:

Plik
Aplikacja umieszcza token w formie pliku na stronie właściciela. Musisz utworzyć plik o nazwie odpowiadającej ciągowi tokena z tą zawartością:
google-site-verification: token

Jeśli na przykład użytkownik jest właścicielem witryny http://www.example.com/, a zwrócony token to google12cfc68677988bb4.html, musisz utworzyć plik pod adresem http://www.example.com/google12cfc68677988bb4.html (na najwyższym poziomie witryny) z następującą treścią:

google-site-verification: google12cfc8677988bb4.html

Więcej informacji znajdziesz w dokumentacji w Centrum pomocy na temat metody weryfikacji plików.

Meta

Aplikacja wstawia token w postaci tagu HTML <meta> w elemencie <head> pliku domyślnego (index.html, default.html itp.) na najwyższym poziomie witryny właściciela. Plik HTML z tokenem weryfikacji meta może wyglądać tak:

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

Więcej informacji znajdziesz w artykule w Centrum pomocy poświęconym metodom weryfikacji przy użyciu meta.

Analytics

Twoja aplikacja wykorzystuje istniejący kod śledzenia Google Analytics, który znajduje się już w witrynie właściciela. Aby kod śledzenia mógł działać, musi należeć do konta Analytics, a fragment kodu musi znajdować się w tagu HEAD. Więcej informacji znajdziesz w dokumentacji Centrum pomocy dotyczącej metody weryfikacji Analytics.

Menedżer tagów

Twoja aplikacja korzysta z kodu kontenera Menedżera tagów Google, który znajduje się już w witrynie właściciela. Kod kontenera musi należeć do konta Menedżera tagów. Więcej informacji znajdziesz w dokumentacji Centrum pomocy dotyczącej metody weryfikacji przy użyciu Menedżera tagów.

Może Ci się przydać w zrozumieniu podstawowych pojęć i przepływu pracy, jeśli najpierw chcesz ręcznie zweryfikować kilka witryn, korzystając z interfejsu Weryfikacja witryn.

Model danych

Zasób internetowy

Interfejs Google Site Verification API stosuje semantykę REST (HTTP GET, POST itd.) do elementów nazywanych zasobami internetowymi. Zasób internetowy to witryna lub domena, która należy do uwierzytelnionego użytkownika.

Oto przykład takiego zasobu internetowego:

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

Pole id to unikalny identyfikator tego zasobu internetowego. Służy on do odwołania się do tego konkretnego zasobu internetowego w celu pobierania i modyfikacji. Zapisz pole id z danych wyjściowych operacji list, aby użyć ich później jako identyfikatora.

Obiekt site zawiera adres URL lub nazwę domeny zasobu internetowego oraz typ zasobu. Witryny używają typu SITE; domeny są określone typu INET_DOMAIN.

Tablica owners to pełna lista właścicieli zasobu internetowego reprezentowana przez ich adresy e-mail. Uwierzytelniony użytkownik może dodać adresy e-mail do listy właścicieli lub je z niej usunąć, aby przyznać współwłasności innym użytkownikom lub odebrać im prawo własności. Na liście właścicieli pojawią się też dodatkowi właściciele, którzy umieścili swoje tokeny w witrynie lub domenie, wraz z współwłaścicielami.

Użytkownicy, którzy otrzymali współwłaściciela, mogą też przyznawać uprawnienia współwłasności, o ile w witrynie istnieje co najmniej jeden zweryfikowany właściciel z tokenem.

Zbieranie zasobów internetowych

Kolekcja zasobów internetowych to pełna lista wszystkich zasobów internetowych należących do uwierzytelnionego użytkownika. Możesz zweryfikować własność witryn lub domen, próbując dodać nowe zasoby internetowe do zbioru zasobów internetowych uwierzytelnionego użytkownika. Do kolekcji są dodawane tylko zweryfikowane witryny lub domeny.

Jak wspomnieliśmy wcześniej w sekcji Ograniczenia, zasoby internetowe należące do użytkowników innych niż uwierzytelniony użytkownik nie są dostępne za pomocą interfejsu Site Verification API.