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

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

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

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