In dieser Kurzanleitung erhalten Sie ein OAuth-Token für Ihr Konto und senden Anfragen an die Data Portability API-Endpunkte.
Lerninhalte
In dieser Kurzanleitung erfahren Sie, wie Sie:
- Durch Angabe eines gültigen OAuth-Tokens senden Sie eine authentifizierte Anfrage an den Endpunkt
InitiatePortabilityArchive
. Die Antwort sollte eine gültigejob_id
enthalten. - Senden Sie eine authentifizierte Anfrage an den Endpunkt
GetPortabilityArchiveState
. Die Antwort sollte einen gültigen Jobstatus und nach Abschluss des Jobs eine signierte URL enthalten. - (Optional) Senden Sie ein zweites Mal eine authentifizierte Anfrage mit einem gültigen OAuth-Token an den Endpunkt
InitiatePortabilityArchive
. Verwenden Sie dieselben Anmeldedaten. Dadurch wird der FehlerRESOURCE_EXHAUSTED
zurückgegeben und die Bedeutung des EndpunktsResetAuthorization
hervorgehoben. - Senden Sie eine authentifizierte Anfrage an den Endpunkt
ResetAuthorization
. Mit dieser Anfrage werden alle vom Nutzer gewährten OAuth-Bereiche widerrufen. - (Optional) Senden Sie eine Anfrage mit demselben OAuth-Token, das Sie zuvor verwendet haben, an den Endpunkt
InitiatePortabilityArchive
. Die Anfrage sollte nach dem Zurücksetzen der Autorisierung fehlschlagen.
Voraussetzungen
So führen Sie diese Kurzanleitung aus:
- Prüfen Sie, ob die Data Portability API für Nutzer an Ihrem Standort verfügbar ist. Eine Liste der unterstützten Länder und Regionen finden Sie unter Häufig gestellte Fragen auf der Seite „Kopie Ihrer Daten mit Drittanbietern teilen“.
- Führen Sie die Einrichtungsschritte für die Data Portability API aus.
- Konfigurieren Sie OAuth für JavaScript-Web-Apps. In der Produktion verwenden Sie normalerweise einen anderen Ablauf wie den OAuth-Ablauf für Webserveranwendungen.
Der Einfachheit halber wird in dieser Kurzanleitung der JavaScript-Webanwendungsablauf verwendet.
- Notieren Sie sich beim Erstellen der Anmeldedaten für die Autorisierung die OAuth 2.0-Client-ID und den autorisierten Weiterleitungs-URI (z. B. https://google.com). Sie benötigen sie später in der Kurzanleitung.
- Wenn Sie Bereiche für die Data Portability API konfigurieren, beachten Sie, dass in dieser Kurzanleitung die
myactivity.search
-Ressourcengruppe verwendet wird: https://www.googleapis.com/auth/dataportability.myactivity.search.
- Rufen Sie ein OAuth-Token ab.
- Zugriff auf ein Konto erhalten, das Ihrer Organisation gehört oder von dieser kontrolliert wird. Die Daten zu den Suchaktivitäten dieses Kontos werden in dieser Kurzanleitung exportiert.
OAuth-Token abrufen
Im Rahmen dieser Kurzanleitung senden Sie eine Autorisierungsanfrage, um ein OAuth-Token über eine URL abzurufen. Dieser Prozess verwendet den Ablauf für JavaScript-Web-Apps. Bei diesem Ablauf wird kein Aktualisierungstoken zurückgegeben.
Bei einer Produktionsanwendung verwenden Sie normalerweise einen OAuth-Ablauf, um ein Aktualisierungstoken abzurufen, mit dem bei Bedarf Zugriffstokens generiert werden können. Ein Beispiel hierfür wäre der Ablauf für serverseitige Webanwendungen.
So rufen Sie ein OAuth-Token ab:
Erstellen Sie eine URL wie die folgende.
https://accounts.google.com/o/oauth2/v2/auth? client_id=client_id& redirect_uri=redirect_uri& response_type=token& scope=https://www.googleapis.com/auth/dataportability.myactivity.search& include_granted_scopes=true& state=developer-specified-value
In der URL:
client_id
ist deine OAuth-Client-ID.redirect_uri
ist der autorisierte Weiterleitungs-URI, z. B. https://google.com.
Beachten Sie, dass in der URL für diese Kurzanleitung der Bereich der Suchaktivität verwendet wird. Sie können auch den YouTube-Aktivitätsbereich oder beide Bereiche verwenden.
Füge die URL in die Adressleiste des Browsers ein und folge den Schritten im OAuth-Ablauf. Für diesen Ablauf müssen Sie sich in dem Konto anmelden, das Ihrer Organisation gehört oder von ihr kontrolliert wird und für die Sie diese Kurzanleitung verwenden.
Das ist das Konto, das den OAuth-Bereichen zugestimmt hat. Der Zustimmungsbildschirm sollte so aussehen (der Text auf Ihrem Bildschirm kann vom Text in diesem Bild abweichen):
Nachdem Sie die Einwilligung erteilt haben, sollten Sie an den Weiterleitungs-URI https://google.com weitergeleitet werden. Die in der Adressleiste generierte URL enthält das OAuth-Zugriffstoken.
Wenn das Nutzerkonto beispielsweise OAuth-Zugriff auf den Bereich
dataportability.myactivity.search
gewährt, sieht die generierte URL so aus:https://google.com/#state=developer-specified-value&access_token=<your_OAuth_token>&token_type=Bearer&expires_in=3599&scope=https://www.googleapis.com/auth/dataportability.myactivity.search
In der URL ist <Ihr_OAuth_token> ein String, der das Token darstellt.
Fügen Sie die folgende URL in Ihren Browser ein, um das OAuth-Token zu validieren:
https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=your_OAuth_token
Die Antwort sollte in etwa so aussehen:
{ "azp": <your_azp_value>, "aud": <your_aud_value>, "scope": "https://www.googleapis.com/auth/dataportability.myactivity.search", "exp": "1694210968", "expires_in": "3334", "access_type": "online" }
Legen Sie Ihr OAuth-Token und Ihren API-Schlüssel zusammen. Sie benötigen diese, um Aufrufe an die Data Portability API senden zu können.
Anfragen an die Endpunkte senden
In dieser Kurzanleitung verwenden Sie curl-Befehle, um die Data Portability API-Endpunkte aufzurufen. Für diese Befehle sind das OAuth-Token und der API-Schlüssel erforderlich, die Sie zuvor erfasst haben.
So rufen Sie die Data Portability API auf:
Senden Sie zuerst eine authentifizierte Anfrage an den Endpunkt
InitiatePortabilityArchive
. Diese Anfrage startet einen Archivierungsjob.Führen Sie den folgenden curl-Befehl aus:
curl -H 'Authorization: Bearer your_OAuth_token' -X POST \ -H "Content-Type: application/json; charset=utf-8" \ --data '{"resources":["myactivity.search"]}' \ https://dataportability.googleapis.com/v1/portabilityArchive:initiate
Nehmen Sie folgende Änderungen am Befehl vor:
your_OAuth_token
ist das OAuth-Token.
HINWEIS: Der Parameter
resources
sollte nur die OAuth-Bereiche enthalten, denen Zugriff gewährt wurde. In diesem Beispiel wurde nurmyactivity.search
gewährt. Wenn Sie weitere Ressourcengruppen hinzufügen, wird ein Fehler zurückgegeben.Die
InitiatePortabilityArchive
-Anfrage gibt einenjob_id
-Wert zurück. Mit dieser Job-ID wird der Status des Datenarchivs abgerufen.{ "archiveJobId": "<your_job_id>" }
Wenn Sie kein gültiges OAuth-Token angeben, wird diese Fehlermeldung zurückgegeben:
Request had invalid authentication credentials. Expected OAuth 2.0 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.
Als Nächstes senden Sie eine authentifizierte Anfrage an den Endpunkt
GetPortabilityArchiveState
, um den Status des Archivierungsjobs abzurufen.Führen Sie den folgenden curl-Befehl aus:
curl -H 'Authorization: Bearer your_OAuth_token' -X GET \ -H "Content-Type: application/json; charset=utf-8" \ https://dataportability.googleapis.com/v1/archiveJobs/your_job_id/portabilityArchiveState
Nehmen Sie folgende Änderungen am Befehl vor:
your_OAuth_token
ist das OAuth-Token.your_job_id
ist die Job-ID, die von derInitiatePortabilityArchive
-Anfrage zurückgegeben wird.
Die Antwort basiert auf dem state des Jobs. Wenn der Job nicht abgeschlossen ist, enthält die Antwort den aktuellen Status. Sie sollten regelmäßig Anfragen an diesen Endpunkt senden, bis der Job abgeschlossen ist.
{ "state": "IN_PROGRESS" }
Wenn der Job abgeschlossen ist, enthält die Antwort den Status und eine oder mehrere signierte URLs, die zum Herunterladen des Datenarchivs verwendet werden.
{ "state": "COMPLETE", "urls": [ "<signed_url>" ] }
Fügen Sie die signierte URL in Ihren Browser ein, um das Datenarchiv herunterzuladen. Prüfen Sie, ob der Inhalt des Archivs die erwarteten Daten zu Suchaktivitäten enthält.
(Optional) Wiederholen Sie den vorherigen Befehl, um eine authentifizierte Anfrage an den Endpunkt
InitiatePortabilityArchive
zu senden.curl -H 'Authorization: Bearer your_OAuth_token' -X POST \ -H "Content-Type: application/json; charset=utf-8" \ --data '{"resources":["myactivity.search"]}' \ https://dataportability.googleapis.com/v1/portabilityArchive:initiate
Nehmen Sie folgende Änderungen am Befehl vor:
your_OAuth_token
ist das OAuth-Token.
Die Antwort sollte anzeigen, dass die einmalige Einwilligung für die Ressource
myactivity.search
für diesen Nutzer aufgebraucht ist.... "error": { "code": 429, "message": "Resource has been exhausted (check quota).", "status": "RESOURCE_EXHAUSTED" }
Senden Sie eine authentifizierte Anfrage an den Endpunkt
ResetAuthorization
. Mit dieser Anfrage werden alle vom Nutzer gewährten OAuth-Bereiche widerrufen und Sie könnenInitiatePortabilityArchive
für eine Ressourcengruppe aufrufen, die Sie bereits verwendet haben.curl -H 'Authorization: Bearer your_OAuth_token' -X POST \ -H "Content-Type: application/json; charset=utf-8" \ https://dataportability.googleapis.com/v1/authorization:reset
Nehmen Sie folgende Änderungen am Befehl vor:
your_OAuth_token
ist das OAuth-Token.
Dieser Befehl gibt eine leere Antwort zurück.
(Optional) Senden Sie nach dem Zurücksetzen der Autorisierung eine weitere Anfrage an den Endpunkt
InitiatePortabilityArchive
. Verwenden Sie denselben curl-Befehl wie zuvor.curl -H 'Authorization: Bearer your_OAuth_token' -X POST \ -H "Content-Type: application/json; charset=utf-8" \ --data '{"resources":["myactivity.search"]}' \ https://dataportability.googleapis.com/v1/portabilityArchive:initiate
Nehmen Sie folgende Änderungen am Befehl vor:
your_OAuth_token
ist das OAuth-Token.
Die Antwort sollte einen Fehler zurückgeben, da das von Ihnen angegebene OAuth-Token widerrufen wurde.
... "error": { "code": 401, "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", "status": "UNAUTHENTICATED" }