Bu dokümanda, izin yönetimi için Drive API'yi kullanarak Looker Studio API'ye nasıl kod taşıyacağınız açıklanmaktadır. Yaygın Drive API uç noktaları için ilgili Looker Studio API kodunu gösterir.
Files
Looker Studio API'nin, Drive API dosyaları uç noktaları için yalnızca Files: list
uç noktası için eşdeğer bir uç noktası vardır.
Liste
API | Yöntem | Uç nokta |
---|---|---|
Drive | POST |
/drive/v3/files |
Looker Studio | GET |
/v1/assets:search |
Karşılaştırma:
Sürüş
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}`
}
})
Arama öğelerini inceleyin.
İzinler
Oluşturma, Silme ve Alma
API | Yöntem | Uç nokta |
---|---|---|
Drive | POST |
/drive/v3/files/fileId/permissions |
Drive | DELETE |
/drive/v3/files/fileId/permissions/permissionId |
Drive | GET |
/drive/v3/files/fileId/permissions/permissionId |
Looker Studio API'de birden fazla Permissions
nesnesini yönetmek için karşılık gelen uç nokta yoktur. Looker Studio öğesi için yalnızca bir izin nesnesi vardır ve bu nesne her zaman mevcuttur.
- Bir kişiyi öğeden kaldırmak için tüm izinleri iptal etme bölümüne bakın
- Bir öğeye kullanıcı eklemek için üye ekleme bölümüne bakın
- Bir öğenin izinler nesnesini görüntülemek için izin alma bölümüne bakın.
Liste
Drive ile Looker Studio arasında bire bir eşleşme yoktur ancak uç noktalar benzer hedeflere hizmet eder. Temel fark, Drive dosyasında çok sayıda izin nesnesi bulunurken Looker Studio'da tam olarak bir tane izin nesnesi bulunmasıdır.
API | Yöntem | Uç nokta |
---|---|---|
Drive | GET |
/drive/v3/files/fileId/permissions |
Looker Studio | GET |
/v1/assets/assetId/permissions |
Karşılaştırma:
Sürüş
Aşağıdaki kod, Drive API için tüm izin nesnelerini listeler. Kodunuza bağlı olarak, bir dosya için ayarlanmış tüm izinleri görebilmenizi sağlamak üzere sayfalandırma jetonlarını (gösterildiği gibi) kullanarak bu yöntemi birden çok kez çağırabilirsiniz.
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 öğesi için yalnızca bir izin nesnesi bulunduğundan, sayfalara ayırma işlemini dikkate almanız gerekmez.
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}`
}
}
İzin alma bölümünü inceleyin.
Güncelle
Looker Studio ve Drive API'leri, izinleri güncelleme açısından birbirine çok benzer işlevlere sahiptir. Temel fark, Looker Studio izninde expirationTime
değeri ayarlayamamanızdır.
API | Yöntem | Uç nokta |
---|---|---|
Drive | PATCH |
/drive/v3/files/fileId/permissions/permissionId |
Looker Studio | PATCH |
/v1/assets/assetId/permissions |
Karşılaştırma:
Sürüş
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
})
})
Kullanım alanına özel alternatifler için bkz.