Von der Drive API migrieren

In diesem Dokument wird beschrieben, wie Sie Code mithilfe der Drive API für Berechtigungen migrieren. mit der Looker Studio API verknüpfen. Für gängige Drive API-Endpunkte wird angezeigt, den entsprechenden Looker Studio API-Code.

Dateien

Für die Drive API-Dateiendpunkte hat die Looker Studio API nur ein Äquivalent für den Endpunkt Files: list.

Liste

API Methode Endpunkt
Drive POST /drive/v3/files
Looker Studio GET /v1/assets:search

Vergleich:

Drive

const oAuthToken = '123' // This should be replaced with a valid OAuth token.
fetch(`https://www.googleapis.com/drive/v3/files`, {
  headers: {
    Authorization: `Bearer ${oAuthToken}`
  },
  method: "POST",
})

Looker Studio

const oAuthToken = '123' // This should be replaced with a valid OAuth token.
fetch(`https://datastudio.googleapis.com/v1/assets:search?assetTypes={ASSET_TYPE}`, {
  headers: {
    Authorization: `Bearer ${oAuthToken}`
  }
})

Weitere Informationen

Berechtigungen

Erstellen, löschen und herunterladen

API Methode Endpunkt
Drive POST /drive/v3/files/fileId/permissions
Drive DELETE /drive/v3/files/fileId/permissions/permissionId
Drive GET /drive/v3/files/fileId/permissions/permissionId

In der Looker Studio API gibt es keine entsprechenden Endpunkte für die Verwaltung Mehrere Permissions-Objekte Es gibt nur ein Berechtigungsobjekt für eine Looker Studio-Asset erstellt und immer vorhanden ist.

Liste

Es gibt keine 1:1-Übereinstimmung zwischen Drive und Looker Studio, aber die Endpunkte ähnliche Ziele verfolgen. Der Hauptunterschied ist, dass eine Drive-Datei mehrere und in Looker Studio gibt es genau ein Objekt.

API Methode Endpunkt
Drive GET /drive/v3/files/fileId/permissions
Looker Studio GET /v1/assets/assetId/permissions

Vergleich:

Drive

Mit dem folgenden Code werden alle Berechtigungsobjekte für die Drive API aufgelistet. Je nach Code können Sie diese Methode mithilfe der Paginierung mehrmals aufrufen Tokens verwenden, um sicherzustellen, dass Sie alle Berechtigungen sehen, die für in einer Datei.

const fileId = '123'; // This should be replaced with a valid Drive ID.
const oAuthToken = '123'; // This should be replaced with a valid OAuth token.
let nextPageToken = undefined;
let permissions = [];
do {
  const permissionsData = await fetch(`https://www.googleapis.com/drive/v3/files/${fileId}/permissions`, {
    headers: {
      Authorization: `Bearer ${oAuthToken}`
    }
  });
  nextPageToken = permissionsData.nextPageToken;
  permissions = permissions.concat(permissionsData.permissions)
} while (nextPageToken !== undefined);

Looker Studio

Da es nur ein Berechtigungsobjekt für ein Looker Studio-Asset gibt, Paginierung.

const oAuthToken = '123' // This should be replaced with a valid OAuth token.
const assetId = '123' // This should be replaced with a valid asset ID.
fetch(`https://datastudio.googleapis.com/v1/assets/{ASSET_ID}/permissions`, {
  headers: {
    Authorization: `Bearer ${oAuthToken}`
  }
}

Weitere Informationen finden Sie unter Berechtigungen abrufen.

Aktualisieren

Bei der Aktualisierung von Berechtigungen sind die Looker Studio API und die Drive API sehr ähnlich. Funktionalität. Der Hauptunterschied besteht darin, dass Sie keinen expirationTime Looker Studio-Berechtigung

API Methode Endpunkt
Drive PATCH /drive/v3/files/fileId/permissions/permissionId
Looker Studio PATCH /v1/assets/assetId/permissions

Vergleich:

Drive

const fileId = '123'; // This should be replaced with a valid Drive ID.
const oAuthToken = '123'; // This should be replaced with a valid OAuth token.
const newPermissionsObject = {
  expirationTime: '...',
  role: 'owner', // Or any other option
}
fetch(`https://www.googleapis.com/drive/v3/files/${fileId}/permissions/permissionId`, {
  headers: {
    Authorization: `Bearer ${oAuthToken}`
  },
  method: "PATCH",
  body: JSON.stringify(newPermissionsObject)
})

Looker Studio

const oAuthToken = '123' // This should be replaced with a valid OAuth token.
const assetId = '123' // This should be replaced with a valid asset ID.
const newPermissionsObject = {
  permissions: {
    //...
  }
}

fetch(`https://datastudio.googleapis.com/v1/assets/${assetId}/permissions`, {
  headers: {
    Authorization: `Bearer ${oAuthToken}`
  },
  method: "PATCH",
  body: JSON.stringify({
    name: assetId,
    permissions: newPermissionsObject
  })
})

Anwendungsfallspezifische Alternativen finden Sie hier: