เอกสารนี้ระบุวิธีย้ายข้อมูลโค้ดโดยใช้ Drive API สำหรับสิทธิ์ ไปยัง Looker Studio API สำหรับปลายทาง Drive API ทั่วไป ระบบจะแสดง โค้ด Looker Studio API ที่เกี่ยวข้อง
ไฟล์
สำหรับปลายทางของไฟล์ในไดรฟ์ 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
หลายรายการ มีออบเจ็กต์สิทธิ์เพียงรายการเดียวสำหรับ
ชิ้นงานของ Looker Studio ซึ่งจะมีอยู่เสมอ
- หากต้องการนำบุคคลออกจากเนื้อหา โปรดดูเพิกถอนสิทธิ์ทั้งหมด
- หากต้องการเพิ่มบุคคลไปยังเนื้อหา โปรดดูเพิ่มสมาชิก
- หากต้องการดูออบเจ็กต์สิทธิ์สำหรับเนื้อหา โปรดดูรับสิทธิ์
รายการ
ไดรฟ์และ Looker Studio ไม่มีข้อมูลที่ตรงกันแบบ 1 ต่อ 1 แต่ปลายทาง ทำเป้าหมายคล้ายคลึงกัน ความแตกต่างที่สำคัญคือ ไฟล์ในไดรฟ์สามารถ และ 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 และ 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
})
})
โปรดดูทางเลือกเฉพาะสำหรับกรณีการใช้งานต่อไปนี้