이 문서에서는 권한을 위해 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
})
})
사용 사례별 대안은 다음을 참고하세요.