Drive API से माइग्रेट करना

इस दस्तावेज़ में, Looker Studio API पर अनुमति को मैनेज करने के लिए, Drive API का इस्तेमाल करके कोड को माइग्रेट करने का तरीका बताया गया है. सामान्य Drive API एंडपॉइंट के लिए, यह इससे जुड़ा Looker Studio API कोड दिखाता है.

Files

Drive API फ़ाइलों के एंडपॉइंट के लिए, Looker Studio API में Files: list एंडपॉइंट के जैसा सिर्फ़ एक एंडपॉइंट होता है.

सूची

API तरीका एंडपॉइंट
Drive POST /drive/v3/files
Looker Studio GET /v1/assets:search

तुलना:

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}`
  }
})

खोज एसेट देखें.

अनुमतियां

बनाएं, हटाएं, और पाएं

API तरीका एंडपॉइंट
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 में, एक से ज़्यादा Permissions ऑब्जेक्ट को मैनेज करने के लिए, कोई मिलता-जुलता एंडपॉइंट नहीं है. Looker Studio एसेट के लिए, सिर्फ़ एक अनुमति ऑब्जेक्ट होता है और यह हमेशा मौजूद रहती है.

सूची

Drive और Looker Studio के बीच कोई मैच नहीं है, लेकिन एंडपॉइंट एक जैसे लक्ष्य पूरे करते हैं. सबसे बड़ा फ़र्क़ यह है कि Drive में मौजूद फ़ाइल में कई अनुमतियां ऑब्जेक्ट हो सकते हैं और Looker Studio में सिर्फ़ एक ऑब्जेक्ट होता है.

API तरीका एंडपॉइंट
Drive GET /drive/v3/files/fileId/permissions
Looker Studio GET /v1/assets/assetId/permissions

तुलना:

Drive

यहां दिए गए कोड में, 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 की सुविधाएं काफ़ी हद तक एक जैसी हैं. मुख्य अंतर यह है कि Looker Studio की अनुमति पर, expirationTime सेट नहीं किया जा सकता.

API तरीका एंडपॉइंट
Drive PATCH /drive/v3/files/fileId/permissions/permissionId
Looker Studio PATCH /v1/assets/assetId/permissions

तुलना:

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
  })
})

इस्तेमाल के उदाहरण के हिसाब से दिए गए विकल्पों के लिए, देखें: