Erste Schritte

In diesem Dokument wird das Hintergrundwissen zur Verwendung der Google Site Verification API erläutert.

Einführung

Die Google Site Verification API ist für Entwickler gedacht, die Anwendungen oder Dienste schreiben möchten, die die Bestätigung der Inhaberschaft einer Website oder Domain automatisieren. Das ist wichtig, da einige Google-Dienste nur von Website- oder Domaininhabern genutzt werden können. Mit der Google Site Verification API kannst du überprüfen, ob der authentifizierte Nutzer ein Inhaber der Domain oder Website ist. Dies ist möglicherweise der erste Schritt beim programmgesteuerten Bereitstellen anderer Google-Dienste.

In diesem Dokument wird davon ausgegangen, dass Sie mit Konzepten der Webprogrammierung und Webdatenformaten vertraut sind und die Möglichkeit haben, die Dateien oder DNS-Einträge Ihrer Website oder Domain programmatisch zu ändern.

Übersicht

Mit der Google Site Verification API können Sie die Google-Websitebestätigungsdaten eines Nutzers ändern. Nutzer können nur dann auf bestimmte Google-Dienste zugreifen, wenn aus ihren Bestätigungsdaten hervorgeht, dass sie der Inhaber der jeweiligen Websitedomain sind. Mit der API kannst du Bestätigungstokens für authentifizierte Nutzer generieren, die dein Code auf verschiedene Weise auf deinen Websites oder in deinen Domaineinträgen platzieren kann. Sobald das Token eingerichtet ist, rufen Sie die API auf, um Google aufzufordern, das Token zu suchen. Wenn Google das Token findet, wird der authentifizierte Nutzer als Inhaber der Website oder Domain registriert. Du kannst mit der API auch die Inhaberschaftsliste im Namen des Nutzers ändern oder die Websiteinhaberschaft vollständig entfernen.

Alle API-Aufrufe müssen von einem authentifizierten Nutzer autorisiert werden und alle API-Aufrufe werden im Zusammenhang mit dem Konto des authentifizierten Nutzers ausgeführt.

Ein konkretes Beispiel für den Einsatz dieser API ist ein Webhosting-Dienst. Ihre Nutzer möchten mithilfe der Search Console Informationen zu ihrer Website abrufen können. Dazu muss Google wissen, dass sie tatsächlich der Inhaber sind. Dadurch stellst du deinen Nutzern eine Oberfläche zur Verfügung, über die sie ihre Inhaberschaft der Website bestätigen können. Durch sie erhält deine Anwendung Zugriff auf ihre Verifizierungsdaten. Außerdem kann sie Code ausführen, der in ihrem Namen ein Token anfordert, dieses in einer Datei in ihrer Websitestruktur speichert und Google bittet, danach zu suchen. Wenn Google das Token findet, wird dem Nutzer die Inhaberschaft der Website übertragen, indem die Überprüfungsdaten aktualisiert werden. Die Search Console kann jetzt die gewünschten Informationen abrufen.

Vorbereitung

Erstellen Sie sich ein Google-Konto

Sie müssen ein Google-Konto eingerichtet haben. Wir empfehlen, für Entwicklungs- und Testzwecke ein separates Google-Konto zu verwenden, um einen versehentlichen Datenverlust zu vermeiden.

Websitebestätigung

Wenn Sie mit den Konzepten der Google Site Verification API nicht vertraut sind, sollten Sie dieses Dokument lesen, mit der Überprüfungsoberfläche experimentieren und die zugehörige Hilfe lesen, bevor Sie mit dem Programmieren beginnen.

Informationen zum Autorisieren von Anfragen

Alle Anfragen, die Ihre Anwendung an die Google Site Verification API sendet, müssen ein Autorisierungstoken enthalten. Anhand dieses Tokens wird deine Anwendung Google gegenüber identifiziert.

Autorisierungsprotokolle

Ihre Anwendung muss zur Autorisierung von Anfragen OAuth 2.0 verwenden. Andere Autorisierungsprotokolle werden nicht unterstützt. Wenn Ihre Anwendung Über Google anmelden verwendet, werden einige Schritte der Autorisierung automatisch ausgeführt.

Anfragen mit OAuth 2.0 autorisieren

Alle Anfragen an die Google Site Verification API müssen von einem authentifizierten Nutzer autorisiert werden.

Die Details dieses Autorisierungsablaufs für OAuth 2.0 hängen davon ab, welche Art von Anwendung du schreibst. Die folgende allgemeine Vorgehensweise gilt für alle Arten von Anwendungen:

  1. Wenn Sie Ihre Anwendung erstellen, registrieren Sie diese über die Google API Console. Google stellt Ihnen dann die Informationen bereit, die du später benötigst, z. B. eine Client-ID und einen Clientschlüssel.
  2. Aktivieren Sie die Google Site Verification API in der Google API Console. Überspringe diesen Schritt, falls die API nicht in der API Console aufgeführt ist.
  3. Wenn deine Anwendung Zugriff auf Nutzerdaten benötigt, bittet sie Google um einen bestimmten Zugriffsbereich.
  4. Dem Nutzer wird von Google ein Zustimmungsbildschirm angezeigt, auf dem er gebeten wird, deine Anwendung dazu zu autorisieren, einige seiner Daten abzufragen.
  5. Wenn der Nutzer zustimmt, erhält deine Anwendung von Google ein kurzlebiges Zugriffstoken.
  6. Die Anwendung fordert Nutzerdaten an, wobei das Zugriffstoken an die Anfrage angehängt wird.
  7. Stellt Google fest, dass Ihre Anfrage und das Token gültig sind, werden die angeforderten Daten zurückgegeben.

Einige Abläufe enthalten zusätzliche Schritte, beispielsweise die Verwendung von Aktualisierungstoken zum Erhalt neuer Zugriffstoken. Weitere Informationen über die Abläufe für die unterschiedlichen Anwendungstypen findest du in der OAuth 2.0-Dokumentation.

Hier finden Sie die Informationen zum OAuth 2.0-Bereich für die Google Site Verification API:

Umfang Bedeutung
https://www.googleapis.com/auth/siteverification Vollständiger Lesezugriff für vorhandene bestätigte Websites, Möglichkeit zur Bestätigung neuer Websites.
https://www.googleapis.com/auth/siteverification.verify_only Bestätigung neuer Websites, kein Lesezugriff auf vorhandene bestätigte Websites.

Zur Anforderung eines Zugriffs mit OAuth 2.0 benötigt Ihre Anwendung die Bereichsinformationen sowie die Informationen, die Google bei der Registrierung Ihrer Anwendung bereitstellt, z. B. die Client-ID und den Clientschlüssel.

Tipp: Die Google APIs-Clientbibliotheken können einige Schritte des Autorisierungsvorgangs für Sie übernehmen. Sie sind für verschiedene Programmiersprachen verfügbar. Weitere Informationen erhältst du auf der Seite Bibliotheken und Beispiele.

Hintergrund der Google Site Verification API

Konzepte

Mit der Google Site Verification API können Sie die Inhaberschaft der folgenden Arten von Webressourcen nachweisen:

  • Domain: Eine Domain oder Subdomain. Der Inhaber einer Domain gilt als Inhaber aller Websites und Subdomains dieser Domain. Beispielsweise wird der direkte Inhaber von bar.com auch als indirekter Inhaber von foo.bar.com betrachtet.
  • Website:Eine URL, die der Basisdomain und dem Pfad einer Website entspricht. Der Inhaber einer Website gilt als Inhaber aller untergeordneten Websites. Beispiel: Der Inhaber von http://www.beispiel.de/website wird auch als Inhaber von http://www.beispiel.de/website/unterwebsite betrachtet.

Da die Inhaberschaft von Domains weitgreifender ist als die Inhaberschaft von Websites, empfehlen wir, nach Möglichkeit eine Bestätigung mit Domains durchzuführen.

Der Prozess zum Einrichten der Inhaberschaft beginnt damit, dass Ihre Anwendung im Namen des Nutzers ein „Bestätigungstoken“ anfordert. Das Bestätigungstoken ist ein spezieller String, den der Code dann auf seiner Website oder in seiner Domain platzieren muss. Nachdem das Token eingerichtet wurde, kann Ihre Anwendung eine Anfrage an die Google Site Verification API senden. Diese prüft das Token und zeichnet die Inhaberschaft auf, sobald es gefunden wird.

Beschränkungen

Aus Sicherheits- und technischen Gründen erzwingt die Google Site Verification API einige Einschränkungen hinsichtlich ihrer Verwendung:

  • Datenzugriff nur für authentifizierte Nutzer: Für alle Vorgänge ist eine Authentifizierung und Autorisierung des Nutzers erforderlich.
  • Bestätigung nur für authentifizierte Nutzer: Die API kann nur die Inhaberschaft von Websites oder Domains für das aktuell authentifizierte Konto bestätigen. Der authentifizierte Nutzer kann jedoch die Inhaberschaft an andere Nutzer übertragen, nachdem die Inhaberschaft einer Website bestätigt wurde. Hinweis: Alle Inhaber werden per E-Mail benachrichtigt, wenn die Inhaberschaftsliste geändert wird.
  • Nur normalisierte URLs und Domainnamen. Die Google Site Verification API unterstützt die IDN-Codierung (International Domain Name) nicht. Achten Sie darauf, bei Bedarf alle URLs, Domainnamen und E-Mail-Adressendomains mithilfe von Punycodierung auf den Standardzeichensatz des Domainnamens (RFC 1034 § 3.5) zu normalisieren.

Bestätigungsmethoden und Tokens

Die API bietet Aufrufe für die verschiedenen Überprüfungsphasen:

  • Bestätigungstoken platzieren: Es gibt einen API-Aufruf zum Abrufen eines Bestätigungstokens, das auf der Website des authentifizierten Nutzers platziert werden soll. Wenn ein Nutzer mehr als eine Website hat, müssen Sie für jede Website ein anderes Token abrufen.
  • Auf das Vorhandensein des Bestätigungstokens prüfen: Es gibt einen separaten API-Aufruf, mit dem Sie Google auffordern, nach dem Token zu suchen, um zu bestätigen, dass der authentifizierte Nutzer Inhaber einer Website ist.

Es gibt mehrere Methoden, eine Website oder Domain zu bestätigen, die Ihre Anwendung verwenden kann. Welche Sie auswählen, hängt davon ab, was für Ihre Anforderungen am besten funktioniert. Wo das Token platziert wird und welchen Tokentyp es selbst hat, hängt von der Bestätigungsmethode ab, die Sie auswählen.

Methode zur Domainbestätigung

Für Domains sind zwei Bestätigungsmethoden verfügbar:

DNS_CNAME

Ihre Anwendung erstellt einen neuen CNAME-Eintrag für die Domain des Inhabers, möglicherweise über ihren Domainregistrator, wobei das Token für die Eintragsdaten verwendet wird. Das Token besteht aus zwei Teilen, die durch ein Leerzeichen getrennt sind: Der erste Teil ist der Name des neuen CNAME-Eintrags, der zweite Teil der Wert des neuen CNAME-Eintrags.

DNS-TXT

Ihre Anwendung erstellt einen neuen TXT-Eintrag für die Domain des Inhabers, möglicherweise über ihren Domainregistrator, wobei das Token für die Eintragsdaten verwendet wird.

Weitere Informationen finden Sie in der Hilfe zur DNS-Bestätigungsmethode.

Bestätigungsmethoden der Website

Für Websites sind drei Bestätigungsmethoden verfügbar:

Datei
Ihre App platziert das Token in Form einer Datei auf der Website des Inhabers. Sie müssen eine Datei erstellen, die nach dem Tokenstring benannt ist und die folgenden Inhalte enthält:
google-site-verification: token

Wenn ein Nutzer Inhaber der Website http://www.beispiel.de/ ist und das zurückgegebene Token google12cfc68677988bb4.html ist, müssen Sie einfach eine Datei unter http://www.beispiel.de/google12cfc68677988bb4.html (auf der obersten Ebene der Website) mit folgendem Inhalt erstellen:

google-site-verification: google12cfc8677988bb4.html

Weitere Informationen finden Sie in der Hilfe unter Dateiüberprüfung.

Meta

Ihre Anwendung fügt das Token in Form eines HTML-<meta>-Tags in das <head>-Element der Standarddatei (index.html, default.html usw.) auf der obersten Ebene der Website des Inhabers ein. Eine HTML-Datei mit einem Meta-Bestätigungstoken könnte so aussehen:

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

Weitere Informationen findest du in der Hilfe zur Meta-Bestätigungsmethode.

Analyse

In Ihrer Anwendung wird ein vorhandener Google Analytics-Tracking-Code verwendet, der sich bereits auf der Website des Inhabers befindet. Damit der Tracking-Code funktioniert, muss er zu seinem Analytics-Konto gehören. Außerdem muss sich das Snippet im HEAD-Tag befinden. Weitere Informationen finden Sie in der Google Analytics-Hilfe unter Bestätigungsmethode in Analytics.

Tag Manager

In Ihrer Anwendung wird ein vorhandener Google Tag Manager-Containercode verwendet, der sich bereits auf der Website des Inhabers befindet. Der Containercode muss zum Tag Manager-Konto gehören. Weitere Informationen finden Sie in der Hilfe im Artikel Tag Manager-Bestätigungsmethode.

Es kann hilfreich sein, wenn Sie die grundlegenden Konzepte und den Workflow verstehen, wenn Sie versuchen, einige Websites manuell über die Benutzeroberfläche der Websiteüberprüfung zu bestätigen.

Datenmodell

Webressource

Die Google Site Verification API wendet REST-Semantik (HTTP GET, POST usw.) auf Entitäten an, die als Webressourcen bezeichnet werden. Eine Webressource ist eine Website oder Domain, die dem authentifizierten Nutzer gehört.

Hier ein Beispiel für eine Webressource:

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

Das Feld id ist eine eindeutige Kennzeichnung für diese Webressource. Damit wird auf diese spezielle Webressource zum Abrufen und Ändern verwiesen. Speichern Sie das Feld id aus der Ausgabe des Vorgangs list, um es später als Kennung zu verwenden.

Das Objekt site enthält die URL oder den Domainnamen der Webressource und den Typ der Ressource. Websites werden mit dem Typ SITE angegeben, Domains mit dem Typ INET_DOMAIN.

Das Array owners ist die vollständige Liste der Inhaber der Webressource, dargestellt durch ihre E-Mail-Adressen. Durch das Hinzufügen oder Entfernen von E-Mail-Adressen in der Inhaberliste kann der authentifizierte Nutzer Mitinhabern die Inhaberschaft übertragen oder die Inhaberschaft für andere Nutzer aufheben. Weitere Inhaber, die eigene Tokens auf der Website oder in der Domain platziert haben, werden auch in der Liste der Inhaber zusammen mit ihren Mitinhabern angezeigt.

Nutzer, denen die Mitinhaberschaft gewährt wurde, können diese ebenfalls gewähren, sofern mindestens ein bestätigter Inhaber mit einem Token auf der Website vorhanden ist.

Webressourcensammlung

Die Webressourcensammlung ist eine vollständige Liste aller Webressourcen, die zum authentifizierten Nutzer gehören. Sie können die Inhaberschaft von Websites oder Domains einfach bestätigen, indem Sie versuchen, der Ressourcensammlung des authentifizierten Nutzers neue Webressourcen hinzuzufügen. Nur bestätigte Websites oder Domains werden ihrer Sammlung hinzugefügt.

Wie bereits im Abschnitt Einschränkungen erwähnt, sind Webressourcen, die nicht dem authentifizierten Nutzer gehören, nicht über die Site Verification API zugänglich.