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

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

फ़ाइलें

Drive API के फ़ाइल एंडपॉइंट के लिए, Data Studio API के पास सिर्फ़ Files: list एंडपॉइंट के बराबर का एंडपॉइंट है.

सूची

एपीआई तरीका एंडपॉइंट
Drive POST /drive/v3/files
Data 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",
})

Data 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

Data Studio API में, एक से ज़्यादा Permissions ऑब्जेक्ट मैनेज करने के लिए कोई भी एंडपॉइंट मौजूद नहीं है. Data Studio ऐसेट के लिए, सिर्फ़ एक अनुमतियों वाला ऑब्जेक्ट होता है और यह हमेशा मौजूद रहता है.

सूची

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

एपीआई तरीका एंडपॉइंट
Drive GET /drive/v3/files/fileId/permissions
Data 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);

Data Studio

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

अनुमतियां पाना लेख पढ़ें.

अपडेट करें

अनुमतियां अपडेट करने के लिए, Data Studio और Drive API में एक जैसी सुविधाएं उपलब्ध हैं. मुख्य अंतर यह है कि Data Studio की अनुमति पर expirationTime सेट नहीं किया जा सकता.

एपीआई तरीका एंडपॉइंट
Drive PATCH /drive/v3/files/fileId/permissions/permissionId
Data 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)
})

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

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