การย้ายข้อมูลจาก Drive API

เอกสารนี้ระบุวิธีย้ายข้อมูลโค้ดโดยใช้ 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
  })
})

โปรดดูทางเลือกเฉพาะสำหรับกรณีการใช้งานต่อไปนี้