Data Portability API-Methoden aufrufen

Die Data Portability API besteht aus den folgenden Methoden:

  • portabilityArchive.initiate
  • archiveJobs.getPortabilityArchiveState
  • resetAuthorization
  • archiveJobs.retryPortabilityArchive

portabilityArchive.initiate

Sie rufen die Methode portabilityArchive.initiate auf, um einen neuen Datenexportjob zu starten.

Wenn Sie einen Exportjob starten, um ein Datenarchiv zu erstellen, müssen Sie die entsprechende Ressourcengruppe anfordern und ein OAuth-Token mit den erforderlichen Bereichen für diese Ressourcengruppe angeben. Mit dem OAuth-Token wird die Anfrage autorisiert und ermittelt, welche Nutzerdaten exportiert werden.

Eine Liste aller Ressourcengruppen, die von einem bestimmten Dienst unterstützt werden, finden Sie auf der Schemareferenzseite des jeweiligen Dienstes.

Wenn Sie beispielsweise Suchaktivitätsdaten exportieren, rufen Sie InitiatePortabilityArchive(resources = ["myactivity.search"]) auf. An die Anfrage muss ein OAuth-Token mit dem OAuth-Bereich für die Suche angehängt sein: https://www.googleapis.com/auth/dataportability.myactivity.search.

Es ist möglich, mehrere Ressourcengruppen in einen einzigen InitiatePortabilityArchive-Aufruf aufzunehmen. Dies wird jedoch nicht empfohlen. Sie können eine schnellere Verarbeitung erreichen, indem Sie für jede Ressourcengruppe separate InitiatePortabilityArchive-Anfragen stellen. Wenn Sie mehrere Ressourcengruppen anfordern, müssen dem angehängten OAuth-Token alle entsprechenden Bereiche angehängt sein.

Anstatt beispielsweise InitiatePortabilityArchive(resources = ["myactivity.search","myactivity.youtube"]) aufzurufen, um ein Datenarchiv für Such- und YouTube-Aktivitäten zu erstellen, führen Sie diese separaten Aufrufe aus: InitiatePortabilityArchive(resources = ["myactivity.search"]) und InitiatePortabilityArchive(resources = ["myactivity.youtube"]).

Die InitiatePortabilityArchive-Anfrage gibt einen job_id-Wert zurück. Mit dieser Job-ID wird der Status des Datenarchivs abgerufen.

archiveJobs.getPortabilityArchiveState

Die Methode archiveJobs.getPortabilityArchiveState wird aufgerufen, um den aktuellen state des Datenexportjobs abzurufen. Wenn Sie getPortabilityArchiveState aufrufen, geben Sie das job_id an: GetPortabilityArchiveState(job_id). Sie müssen außerdem ein OAuth-Token mit Bereichen angeben, die den in der initiate-Anfrage verwendeten Ressourcengruppen entsprechen.

Wenn der Status COMPLETE lautet, werden signierte Cloud Storage-URLs zurückgegeben, mit denen Sie die Daten herunterladen können. Die signierten URLs laufen nach sechs Stunden ab und die Daten sind 14 Tage lang verfügbar.

Die Bearbeitung einer Archivierungsanfrage kann je nach Datenvolumen einige Minuten, mehrere Stunden oder sogar mehrere Tage dauern. Sie können den Status des Archivs alle 5 bis 60 Minuten überprüfen.

resetAuthorization

Die Methode resetAuthorization führt folgende Schritte aus:

  • Hebt alle vom Nutzer gewährten OAuth-Bereiche auf
  • Ermöglicht der App, InitiatePortabilityArchive für eine zuvor verwendete Ressourcengruppe aufzurufen
  • Hebt den Zugriff auf frühere Datenarchiven auf

Wenn Sie resetAuthorization aufrufen, müssen Sie ein angehängtes OAuth-Token für den Nutzer angeben, dessen Autorisierung Sie zurücksetzen.

archiveJobs.retryPortabilityArchive

Die Methode archiveJobs.retryPortabilityArchive wird aufgerufen, um fehlgeschlagene Jobs zu wiederholen, bei denen die Methode archiveJobs.getPortabilityArchiveState bereits den state FAILED zurückgegeben hat. Dies kann aufgrund eines vorübergehenden Ausfalls im Back-End auftreten. In diesem Fall können Sie den Export wiederholen, ohne ein neues OAuth-Token vom Nutzer anzufordern. Wenn Sie retryPortabilityArchive aufrufen, geben Sie das job_id zusammen mit einem gültigen OAuth-Token an. Der Endpunkt versucht dann, einen Export für dieselben Ressourcengruppen zu erstellen, die in der ursprünglichen initiatePortabilityArchive-Anfrage angefordert wurden. Wenn der Vorgang erfolgreich ist, gibt dieser Endpunkt eine neue job_id zurück, die Sie in Aufrufen von getPortabilityArchiveState verwenden können. Ein fehlgeschlagener Job kann bis zu dreimal wiederholt werden.

Beispiel:

  1. Sie rufen InitiatePortabilityArchive(resources = ["myactivity.search"]) auf und Sie erhalten job_id: 0.

  2. Nachdem du GetPortabilityArchiveState(0) angerufen hast, erhältst du JobSate: FAILED.

  3. Sie können dann RetryPortabilityArchive(0) anrufen, um job_id: 1 für resources = ["myactivity.search"] zu erhalten.

  4. Anschließend kannst du GetPortabilityArchiveState(1) weiter anrufen.