Dokumen ini menjelaskan cara memigrasikan kode menggunakan Drive API untuk izin ke Looker Studio API. Untuk endpoint Drive API umum, tampilan ini menampilkan kode API Looker Studio yang sesuai.
File
Untuk endpoint file Drive API, Looker Studio API hanya memiliki versi yang setara
endpoint untuk endpoint Files: list
.
Daftar
API | Metode | Endpoint |
---|---|---|
Drive | POST |
/drive/v3/files |
Looker Studio | GET |
/v1/assets:search |
Perbandingan:
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}`
}
})
Lihat Telusuri aset.
Izin
Membuat, Menghapus, dan Mendapatkan
API | Metode | Endpoint |
---|---|---|
Drive | POST |
/drive/v3/files/fileId/permissions |
Drive | DELETE |
/drive/v3/files/fileId/permissions/permissionId |
Drive | GET |
/drive/v3/files/fileId/permissions/permissionId |
Tidak ada endpoint yang sesuai di Looker Studio API untuk mengelola
beberapa objek Permissions
. Hanya ada satu objek izin untuk
Looker Studio, dan selalu ada.
- Untuk menghapus seseorang dari aset, lihat mencabut semua izin
- Untuk menambahkan seseorang ke aset, lihat menambahkan anggota
- Untuk melihat objek izin untuk aset, lihat mendapatkan izin
Daftar
Tidak ada kecocokan 1-1 antara Drive dan Looker Studio, tetapi endpoint untuk mencapai tujuan yang sama. Perbedaan utamanya adalah file Drive dapat memiliki banyak objek izin, dan Looker Studio hanya memiliki satu objek izin.
API | Metode | Endpoint |
---|---|---|
Drive | GET |
/drive/v3/files/fileId/permissions |
Looker Studio | GET |
/v1/assets/assetId/permissions |
Perbandingan:
Drive
Kode berikut mencantumkan semua objek izin untuk Drive API. Bergantung pada kode, Anda dapat memanggil metode ini beberapa kali menggunakan penomoran halaman token (seperti yang ditunjukkan) untuk memastikan Anda bisa melihat semua izin akses yang ditetapkan untuk file.
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
Karena hanya ada satu objek izin untuk aset Looker Studio, Anda perlu harus memperhitungkan penomoran halaman.
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}`
}
}
Lihat mendapatkan izin.
Perbarui
Untuk memperbarui izin, Looker Studio API dan Drive API memiliki
fungsionalitasnya. Perbedaan utamanya adalah Anda tidak dapat menetapkan expirationTime
pada
Izin Looker Studio.
API | Metode | Endpoint |
---|---|---|
Drive | PATCH |
/drive/v3/files/fileId/permissions/permissionId |
Looker Studio | PATCH |
/v1/assets/assetId/permissions |
Perbandingan:
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
})
})
Untuk alternatif khusus kasus penggunaan, lihat: