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

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

फ़ाइलें

Drive API फ़ाइलों के एंडपॉइंट के लिए, Looker Studio API में Files: list एंडपॉइंट के लिए एंडपॉइंट.

सूची

एपीआई तरीका एंडपॉइंट
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}`
  }
})

सर्च ऐसेट देखें.

अनुमतियां

बनाएं, मिटाएं, और पाएं

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

एपीआई तरीका एंडपॉइंट
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 में काफ़ी अंतर है काम करता है. मुख्य अंतर यह है कि आपexpirationTime Looker Studio की अनुमति.

एपीआई तरीका एंडपॉइंट
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
  })
})

इस्तेमाल के उदाहरण के लिए, यह देखें: