本文件概述如何使用 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 |
比較:
雲端硬碟
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
物件。每個 Pod 中只有一個權限物件
Looker Studio 資產,且一律存在。
清單
Google 雲端硬碟和 Looker Studio 沒有一對一比對,但端點 以及達成類似目標主要差異在於單一雲端硬碟檔案 權限物件,Looker Studio 則只有一個。
API | 方法 | 端點 |
---|---|---|
雲端硬碟 | GET |
/drive/v3/files/fileId/permissions |
Looker Studio | GET |
/v1/assets/assetId/permissions |
比較:
雲端硬碟
以下程式碼列出 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 |
比較:
雲端硬碟
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
})
})
如要瞭解特定用途的替代方案,請參閱: