Tài liệu này trình bày cách di chuyển mã bằng API Drive để quản lý quyền sang API Looker Studio. Đối với các điểm cuối API Drive phổ biến, bảng này sẽ hiển thị mã API Looker Studio tương ứng.
Files
Đối với các điểm cuối của tệp API Drive, API Looker Studio chỉ có một điểm cuối tương đương cho điểm cuối Files: list
.
Danh sách
API | Phương thức | Điểm cuối |
---|---|---|
Lái xe | POST |
/drive/v3/files |
Looker Studio | GET |
/v1/assets:search |
So sánh:
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}`
}
})
Xem nội dung thành phần tìm kiếm.
Quyền
Tạo, xoá và tải
API | Phương thức | Điểm cuối |
---|---|---|
Lái xe | POST |
/drive/v3/files/fileId/permissions |
Lái xe | DELETE |
/drive/v3/files/fileId/permissions/permissionId |
Lái xe | GET |
/drive/v3/files/fileId/permissions/permissionId |
Không có điểm cuối tương ứng trong API Looker Studio để quản lý nhiều đối tượng Permissions
. Chỉ có một đối tượng quyền cho thành phần Looker Studio và đối tượng này luôn tồn tại.
- Để xoá ai đó khỏi một thành phần, hãy xem bài viết thu hồi tất cả các quyền
- Để thêm người khác vào tài sản, hãy xem phần thêm thành viên
- Để xem một đối tượng cấp quyền cho một tài sản, hãy xem bài viết yêu cầu cấp quyền
Danh sách
Không có sự đối sánh 1-1 giữa Drive và Looker Studio, nhưng các điểm cuối phục vụ các mục tiêu tương tự nhau. Điểm khác biệt chính là tệp trên Drive có thể có nhiều đối tượng quyền, còn Looker Studio có đúng một đối tượng quyền.
API | Phương thức | Điểm cuối |
---|---|---|
Lái xe | GET |
/drive/v3/files/fileId/permissions |
Looker Studio | GET |
/v1/assets/assetId/permissions |
So sánh:
Drive
Mã sau đây liệt kê tất cả các đối tượng quyền cho API Drive. Tuỳ thuộc vào mã, bạn có thể gọi phương thức này nhiều lần bằng cách sử dụng mã phân trang (như hiển thị) để đảm bảo bạn có thể xem tất cả các quyền được đặt cho một tệp.
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
Vì chỉ có một đối tượng quyền cho tài sản Looker Studio, nên bạn không cần phải tính đến việc phân trang.
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}`
}
}
Xem phần yêu cầu cấp quyền.
Cập nhật
Để cập nhật quyền, các API Looker Studio và Drive có chức năng rất giống nhau. Điểm khác biệt chính là bạn không thể đặt expirationTime
cho quyền của Looker Studio.
API | Phương thức | Điểm cuối |
---|---|---|
Lái xe | PATCH |
/drive/v3/files/fileId/permissions/permissionId |
Looker Studio | PATCH |
/v1/assets/assetId/permissions |
So sánh:
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
})
})
Để biết các lựa chọn thay thế cụ thể cho trường hợp sử dụng, hãy xem: