इस दस्तावेज़ में, Google Drive API का इस्तेमाल करके, अपने ऐप्लिकेशन में शेयर की गई ड्राइव की सुविधा को लागू करने का तरीका बताया गया है.
शेयर की गई ड्राइव, 'मेरी ड्राइव' से अलग संगठन, शेयर करने, और मालिकाना हक के मॉडल पर काम करती हैं. अगर आपका ऐप्लिकेशन, शेयर की गई ड्राइव पर फ़ाइलें बनाने और उन्हें मैनेज करने वाला है, तो आपको अपने ऐप्लिकेशन में शेयर की गई ड्राइव की सुविधा को लागू करना होगा. इसे लागू करने की जटिलता, आपके ऐप्लिकेशन की सुविधाओं पर निर्भर करती है.
शुरू करने के लिए, जब आपका ऐप्लिकेशन ये कार्रवाइयां करता है, तो आपको अपने अनुरोधों में supportsAllDrives=true क्वेरी पैरामीटर शामिल करना होगा:
Drive API v3
files.getfiles.listfiles.createfiles.updatefiles.copyfiles.deletechanges.listchanges.getStartPageTokenpermissions.listpermissions.getpermissions.createpermissions.updatepermissions.delete
Drive API v2
files.getfiles.listfiles.insertfiles.updatefiles.patchfiles.copyfiles.trashfiles.untrashfiles.deletefiles.touchchildren.insertparents.insertchanges.listchanges.getStartPageTokenchanges.getpermissions.listpermissions.getpermissions.insertpermissions.updatepermissions.patchpermissions.delete
supportsAllDrives=true पैरामीटर, Google Drive को बताता है कि आपका ऐप्लिकेशन, शेयर की गई ड्राइव पर मौजूद फ़ाइलों को मैनेज करने के लिए डिज़ाइन किया गया है.
जिन ऐप्लिकेशन को अनुमतियां पढ़ने या उनमें बदलाव करने, बदलाव ट्रैक करने या एक से ज़्यादा कॉर्पोरा में खोजने की ज़रूरत होती है उनके लिए, शेयर की गई ड्राइव की अतिरिक्त क्षमताओं की ज़रूरत होती है. इस दस्तावेज़ के बाकी हिस्से में, इन कामों को करने के लिए ज़रूरी अतिरिक्त बदलावों के बारे में बताया गया है.
शेयर की गई ड्राइव पर कॉन्टेंट खोजना
शेयर की गई ड्राइव में, उपयोगकर्ता की फ़ाइलें ढूंढने के लिए, list संसाधन पर files तरीके का इस्तेमाल करें. शेयर की गई ड्राइव खोजने के लिए, शेयर की गई ड्राइव खोजना
लेख पढ़ें.
list तरीके में, शेयर की गई ड्राइव के लिए खास तौर पर बने ये क्वेरी पैरामीटर शामिल होते हैं:
driveId: वह शेयर की गई ड्राइव जिसका कॉन्टेंट खोजना है.corpora: आइटम (फ़ाइलें या दस्तावेज़) के वे हिस्से जिन पर क्वेरी लागू होती है.user,domain,drive, औरallDrivesको, कॉर्पोरा के तौर पर इस्तेमाल किया जा सकता है. बेहतर परफ़ॉर्मेंस के लिए,allDrivesके बजायuserयाdriveका इस्तेमाल करें. डिफ़ॉल्ट रूप से, कॉर्पोरा कोuserपर सेट किया जाता है.includeItemsFromAllDrives: क्या नतीजों में, 'मेरी ड्राइव' और शेयर की गई ड्राइव, दोनों के आइटम शामिल किए जाने चाहिए. अगर यह पैरामीटर मौजूद नहीं है या इसे 'गलत है' पर सेट किया गया है, तो शेयर की गई ड्राइव के आइटम नहीं दिखाए जाते.supportsAllDrives: क्या अनुरोध करने वाला ऐप्लिकेशन, 'मेरी ड्राइव' और शेयर की गई ड्राइव, दोनों के साथ काम करता है. अगर यह पैरामीटर 'गलत है' पर सेट है, तो शेयर की गई ड्राइव के आइटम, जवाब में शामिल नहीं किए जाते.
शेयर की गई ड्राइव के लिए, क्वेरी के ये मोड खास तौर पर बने हैं:
includeItemsFromAllDrives |
corpora |
क्वेरी का ब्यौरा |
|---|---|---|
true |
user |
उन फ़ाइलों के लिए क्वेरी करता है जिन्हें उपयोगकर्ता ने ऐक्सेस किया है. इनमें शेयर की गई ड्राइव और 'मेरी ड्राइव', दोनों की फ़ाइलें शामिल हैं. |
true |
domain |
उन फ़ाइलों के लिए क्वेरी करता है जिन्हें डोमेन के साथ शेयर किया गया है. इनमें शेयर की गई ड्राइव और 'मेरी ड्राइव', दोनों की फ़ाइलें शामिल हैं. |
true |
drive |
बताई गई शेयर की गई ड्राइव में मौजूद सभी आइटम के लिए क्वेरी करता है. अनुरोध में, driveId बताना ज़रूरी है. |
true |
allDrives |
उन फ़ाइलों के लिए क्वेरी करता है जिन्हें उपयोगकर्ता ने ऐक्सेस किया है. साथ ही, उन सभी शेयर की गई ड्राइव के लिए क्वेरी करता है जिनमें वह सदस्य है. ध्यान दें कि जवाब में incompleteSearch:true शामिल हो सकता है. इससे पता चलता है कि इस अनुरोध के लिए, कुछ कॉर्पोरा नहीं खोजे गए. |
यहां दिए गए कोड सैंपल में, सभी शेयर की गई ड्राइव के साथ-साथ 'मेरी ड्राइव' में मौजूद फ़ाइलों को खोजने का तरीका बताया गया है:
Python
files = []
page_token = None
while True:
response = drive_service.files().list(
q="mimeType='application/vnd.google-apps.folder'",
spaces='drive',
corpora='allDrives',
supportsAllDrives=True,
includeItemsFromAllDrives=True,
fields='nextPageToken, files(id, name)',
pageToken=page_token
).execute()
files.extend(response.get('files', []))
page_token = response.get('nextPageToken', None)
if not page_token:
break
Node.js
let files = [];
let pageToken = null;
do {
const response = await drive_service.files.list({
q: "mimeType='application/vnd.google-apps.folder'",
spaces: 'drive',
corpora: 'allDrives',
supportsAllDrives: true,
includeItemsFromAllDrives: true,
fields: 'nextPageToken, files(id, name)',
pageToken: pageToken
});
files = files.concat(response.data.files);
pageToken = response.data.nextPageToken;
} while (pageToken);
Java
List<File> files = new ArrayList<>();
String pageToken = null;
do {
FileList result = driveService.files().list()
.setQ("mimeType='application/vnd.google-apps.folder'")
.setSpaces("drive")
.setCorpora("allDrives")
.setSupportsAllDrives(true)
.setIncludeItemsFromAllDrives(true)
.setFields("nextPageToken, files(id, name)")
.setPageToken(pageToken)
.execute();
files.addAll(result.getFiles());
pageToken = result.getNextPageToken();
} while (pageToken != null);
curl
curl -X GET \
'https://www.googleapis.com/drive/v3/files?corpora=allDrives&includeItemsFromAllDrives=true&supportsAllDrives=true&fields=nextPageToken%2Cfiles(id%2Cname)' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Accept: application/json'
ACCESS_TOKEN की जगह, अपने ऐप्लिकेशन का OAuth 2.0 टोकन डालें.
शेयर की गई ड्राइव में किए गए बदलाव ट्रैक करना
शेयर की गई ड्राइव में किए गए बदलाव ट्रैक करने के लिए, list संसाधन पर changes तरीके का इस्तेमाल करें. ज़्यादा जानकारी के लिए, उपयोगकर्ताओं और शेयर की गई
ड्राइव के लिए बदलाव ट्रैक करना लेख पढ़ें.
list तरीके में, शेयर की गई ड्राइव के लिए खास तौर पर बने ये क्वेरी पैरामीटर शामिल होते हैं:
driveId: वह शेयर की गई ड्राइव जिसके बदलाव दिखाए जाने हैं. अगर यह पैरामीटर बताया जाता है, तो बदलाव के आईडी, शेयर की गई ड्राइव में मौजूद आइटम में किए गए बदलावों के बारे में बताते हैं. साथ ही, फ़ाइल की मौजूदा स्थिति के बारे में भी जानकारी देते हैं. शेयर की गई ड्राइव में किए गए किसी खास बदलाव के बारे में जानने के लिए, शेयर की गई ड्राइव का आईडी और बदलाव का आईडी, दोनों को आइडेंटिफ़ायर के तौर पर इस्तेमाल करना होगा.includeItemsFromAllDrives: क्या बदलावों की सूची में, शेयर की गई ड्राइव की फ़ाइलें या बदलाव शामिल किए जाने चाहिए.supportsAllDrives: क्या अनुरोध करने वाला ऐप्लिकेशन, शेयर की गई ड्राइव के साथ काम करता है. अगर यह पैरामीटर 'गलत है' पर सेट है, तो शेयर की गई ड्राइव के आइटम नहीं दिखाए जाते. इनमें शेयर की गई ड्राइव और शेयर की गई ड्राइव में मौजूद फ़ाइलें, दोनों शामिल हैं.
शेयर की गई ड्राइव के लिए, क्वेरी के ये मोड खास तौर पर बने हैं:
includeItemsFromAllDrives |
driveId |
क्वेरी का ब्यौरा |
|---|---|---|
true |
नहीं | बदलाव, शेयर की गई ड्राइव के अंदर या बाहर मौजूद उन फ़ाइलों में किए गए बदलावों को दिखाते हैं जिन्हें उपयोगकर्ता ने ऐक्सेस किया है. साथ ही, उन शेयर की गई ड्राइव में किए गए बदलावों को भी दिखाते हैं जिनमें उपयोगकर्ता सदस्य है. |
true |
हां | बदलाव, बताई गई शेयर की गई ड्राइव और उसमें मौजूद आइटम में किए गए बदलावों को दिखाते हैं. |
यहां दिए गए कोड सैंपल में, शेयर की गई ड्राइव में किए गए बदलाव ट्रैक करने का तरीका बताया गया है:
Python
# 1. Get the start page token for the shared drive.
response = drive_service.changes().getStartPageToken(
supportsAllDrives=True,
driveId='SHARED_DRIVE_ID'
).execute()
start_page_token = response.get('startPageToken')
# 2. List changes starting from the page token.
response = drive_service.changes().list(
pageToken=start_page_token,
supportsAllDrives=True,
includeItemsFromAllDrives=True,
driveId='SHARED_DRIVE_ID'
).execute()
changes = response.get('changes', [])
Node.js
// 1. Get the start page token for the shared drive.
const tokenResponse = await drive_service.changes.getStartPageToken({
supportsAllDrives: true,
driveId: 'SHARED_DRIVE_ID'
});
const startPageToken = tokenResponse.data.startPageToken;
// 2. List changes starting from the page token.
const response = await drive_service.changes.list({
pageToken: startPageToken,
supportsAllDrives: true,
includeItemsFromAllDrives: true,
driveId: 'SHARED_DRIVE_ID'
});
const changes = response.data.changes;
Java
// 1. Get the start page token for the shared drive.
StartPageToken tokenResult = driveService.changes().getStartPageToken()
.setSupportsAllDrives(true)
.setDriveId("SHARED_DRIVE_ID")
.execute();
String startPageToken = tokenResult.getStartPageToken();
// 2. List changes starting from the page token.
ChangeList changesResult = driveService.changes().list(startPageToken)
.setSupportsAllDrives(true)
.setIncludeItemsFromAllDrives(true)
.setDriveId("SHARED_DRIVE_ID")
.execute();
List<Change> changes = changesResult.getChanges();
curl
# 1. Get the start page token for the shared drive.
curl -X GET \
'https://www.googleapis.com/drive/v3/changes/startPageToken?supportsAllDrives=true&driveId=SHARED_DRIVE_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Accept: application/json'
# 2. List changes starting from the page token.
curl -X GET \
'https://www.googleapis.com/drive/v3/changes?pageToken=START_PAGE_TOKEN&supportsAllDrives=true&includeItemsFromAllDrives=true&driveId=SHARED_DRIVE_ID' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Accept: application/json'
इनकी जगह ये डालें:
- SHARED_DRIVE_ID: शेयर की गई ड्राइव का आईडी.
- ACCESS_TOKEN: आपके ऐप्लिकेशन का OAuth 2.0 टोकन.
- START_PAGE_TOKEN: शेयर की गई ड्राइव के लिए, स्टार्ट पेज टोकन.
SHARED_DRIVE_ID की जगह, शेयर की गई ड्राइव का आईडी डालें
Drive के यूज़र इंटरफ़ेस (यूआई) में, शेयर की गई ड्राइव की सुविधा चालू करना
Drive के यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, शेयर की गई ड्राइव का कॉन्टेंट ऐक्सेस करने के लिए, पक्का करें कि आपने Google Cloud Console में, Google Drive API के Drive के यूज़र इंटरफ़ेस (यूआई) के साथ इंटिग्रेशन टैब पर, शेयर की गई ड्राइव की सुविधा बॉक्स को चुना हो. ज़्यादा जानकारी के लिए, Drive के यूज़र इंटरफ़ेस (यूआई) के साथ इंटिग्रेशन कॉन्फ़िगर करना लेख पढ़ें.
शेयर की गई ड्राइव के साथ Google Picker का इस्तेमाल करना
Google Picker, शेयर की गई ड्राइव में मौजूद आइटम चुनने की सुविधा देता है. शेयर की गई ड्राइव की सुविधा चालू करने और Picker में शेयर की गई ड्राइव के व्यू जोड़ने के बारे में जानने के लिए, Google Picker API देखें.