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:
Sie rufen
InitiatePortabilityArchive(resources = ["myactivity.search"])
auf und Sie erhaltenjob_id: 0
.Nachdem du
GetPortabilityArchiveState(0)
angerufen hast, erhältst duJobSate: FAILED
.Sie können dann
RetryPortabilityArchive(0)
anrufen, umjob_id: 1
fürresources = ["myactivity.search"]
zu erhalten.Anschließend kannst du
GetPortabilityArchiveState(1)
weiter anrufen.