Drive API에서 이전

이 문서에서는 권한을 위해 Drive API를 사용하여 코드를 이전하는 방법을 설명합니다. Looker Studio API에 추가할 수 있습니다 일반적인 Drive API 엔드포인트의 경우 해당하는 Looker Studio API 코드를 반환합니다.

파일

Drive API 파일 엔드포인트의 경우 Looker Studio API에는 동등한 엔드포인트만 있습니다. Files: list 엔드포인트의 엔드포인트가 있어야 합니다.

목록

API 메서드 엔드포인트
드라이브 POST /drive/v3/files
Looker Studio GET /v1/assets:search

비교:

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}`
  }
})

검색 애셋을 참고하세요.

권한

만들기, 삭제 및 가져오기

API 메서드 엔드포인트
드라이브 POST /drive/v3/files/fileId/permissions
드라이브 DELETE /drive/v3/files/fileId/permissions/permissionId
드라이브 GET /drive/v3/files/fileId/permissions/permissionId

Looker Studio API에는 관리를 위한 해당 엔드포인트가 없습니다. 여러 Permissions 객체 한 파일에 대한 권한 객체는 항상 존재합니다.

목록

Drive와 Looker Studio 간에는 1:1 매칭이 없지만 엔드포인트는 있습니다. 유사한 목표를 달성할 수 있습니다 주요 차이점은 Drive 파일에는 여러 Looker Studio에는 정확히 1개가 있습니다.

API 메서드 엔드포인트
드라이브 GET /drive/v3/files/fileId/permissions
Looker Studio GET /v1/assets/assetId/permissions

비교:

Drive

다음 코드는 Drive API의 모든 권한 객체를 나열합니다. 코드에 따라 페이지로 나누기를 사용하여 이 메서드를 여러 번 호출할 수 있습니다. 토큰 (표시된 대로)을 할 수 있습니다.

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

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.
fetch(`https://datastudio.googleapis.com/v1/assets/{ASSET_ID}/permissions`, {
  headers: {
    Authorization: `Bearer ${oAuthToken}`
  }
}

권한 가져오기를 참고하세요.

업데이트

권한을 업데이트하는 경우 Looker Studio와 Drive API는 기능을 제공합니다 가장 큰 차이점은 expirationTime를 설정할 수 없다는 것입니다. Looker Studio 권한이 필요합니다.

API 메서드 엔드포인트
드라이브 PATCH /drive/v3/files/fileId/permissions/permissionId
Looker Studio PATCH /v1/assets/assetId/permissions

비교:

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
  })
})

사용 사례별 대안은 다음을 참고하세요.