2012-09-03 13 views
11

के भीतर Google ड्राइव खोजना मैं कई अलग-अलग प्रकार के दस्तावेज़ों के लिए Google ड्राइव को भंडार के रूप में उपयोग करने का प्रयास कर रहा हूं। मेरे पास उन दस्तावेजों को कई अलग-अलग फ़ोल्डर्स में व्यवस्थित किया गया है।एक विशिष्ट फ़ोल्डर

जब मैं कोई खोज करता हूं तो यह परिणाम के मिलान के लिए मेरे पूरे Google ड्राइव खाते को खोजता प्रतीत होता है इस तथ्य के बावजूद कि मैं वर्तमान में एक विशिष्ट फ़ोल्डर में हूं।

यह मेरे लिए एक समस्या है क्योंकि मैं दस्तावेजों के दिए गए समूह में अपनी खोजों को परिष्कृत करने में सक्षम होना चाहता हूं।

यदि मैं अपने काम से संबंधित दस्तावेजों की खोज कर रहा हूं, उदाहरण के लिए, मैं नहीं चाहता कि मेरी खोज में दिखाए गए दस्तावेज व्यक्तिगत हैं, या मेरी व्यक्तिगत निर्देशिका में।

क्या मेरी खोज को परिशोधित करने का कोई तरीका है केवल एक निर्दिष्ट फ़ोल्डर के भीतर दस्तावेज़ दिखाएं और यह सबफ़ोल्डर है? मुझे पता है कि मैं फ़ाइल प्रकार और स्वामित्व के आधार पर खोज को परिशोधित कर सकता हूं, लेकिन यह मेरे लिए काम नहीं करता है।

अग्रिम धन्यवाद।

उत्तर

4

Google Drive SDK का उपयोग करके, आप <folder_id> in parents के लिए एक खोज क्वेरी कर सकते हैं।

+2

हाय, अली, मेरी समस्या थोड़ा और अधिक जटिल है, क्योंकि मेरे खोज एक बहुस्तरीय पेड़ फ़ोल्डर संरचना के एक पत्ते स्तर पर फ़ाइलों के लिए है। एकमात्र विचार सभी फ़ोल्डर आईडी के लिए पुनरावृत्त होना और सैकड़ों "माता-पिता में फ़ोल्डर आईडी" के साथ एक क्वेरी बनाना प्रतीत होता है। क्या कुछ भी आसान उपलब्ध है? मैं अनिवार्य रूप से "myroot" फ़ोल्डर के सभी उप-फ़ोल्डर में खोज के बारे में बात कर रहा हूं। – seanpj

0

जहाँ तक मुझे पता है कि आपको प्रत्येक उपफोल्डर के लिए ऐसा करना होगा, लेकिन एपीआई (और मेरा ऐप) फ़ोल्डर द्वारा खोजेगा।

मैंने एक ऐप लिखा जो फ़ोल्डर द्वारा खोजने के लिए एपीआई का उपयोग करता है। यह थोड़ी धीमी है इसलिए लोड होने पर धैर्य रखें।

https://script.google.com/macros/s/AKfycby6G32K-vKCiLmoKvMtG64cYPHEREEx1PY5IoYrEYaR6WAfbXs/exec

// ----------------- 
var sr = DocsList.getFolder("temp_scripts").find("var"); 
var i = 0; 
for(i=0;i<sr.length;i++) 
{ 
    var r = sr[i]; 
    Logger.log('name='+r.getName()); 
    Logger.log('parent=' +r.getParents()[0].getName()); 
    Logger.log('---'); 
} 
// ----------------- 
0

मैं वर्णन क्षेत्र का उपयोग वैकल्पिक हल का एक तरह मिल गया।

मेरे विशेष मामले में, जो फ़ोल्डर मैं खोजना चाहता हूं, उसमें बनाई गई सभी फाइलें मेरी खुद की लिपि द्वारा प्रोग्रामेटिक रूप से बनाई गई हैं, लेकिन एक स्क्रिप्ट लिखने के लिए काफी सरल है (विवरण) विवरण फ़ील्ड को सभी फ़ाइलों में परिभाषित करना .setDescription(DESCRIPTION) का उपयोग कर विशिष्ट फ़ोल्डर। एक बार यह हो जाने के बाद ...

अच्छी खबर यह है कि Google ड्राइव में मानक खोज विवरण फ़ील्ड के आधार पर परिणाम प्रदान करती है, जिसमें खोज फ़ील्ड में उस पर मूल्य सेट शामिल है (साथ ही कोई भी डेटा जिसे आप ढूंढना चाहते हैं फाइलें) आपको आवश्यक परिणाम मिलेंगे।

बेशक

आप कम से कम, पल्ला झुकना यह ;-)

के रूप में वर्णन क्षेत्र धमकी देना करने की जरूरत है (या,, मैं आप सभी को लगता है, मैं अभी भी करने के लिए मानक serch क्षेत्र में फ़ोल्डर कीवर्ड प्रतीक्षा कर रहा हूँ ।

0

मैंने जो कोड शामिल किया है, वह मुझे एक विशिष्ट फ़ोल्डर में फ़ाइलों के शरीर को खोजने की अनुमति देता है। मैं स्कैन किए गए दस्तावेज़ों को खोजने के लिए इसका उपयोग कर रहा हूं और यह निर्दिष्ट फ़ाइल मानदंडों के आधार पर फ़ाइल को दूसरे फ़ोल्डर में ले जायेगा।

इस बारे में बड़ी बात यह है कि यह दस्तावेज़ के शरीर की खोज करेगा और आपके खोज मानदंडों को पूरा करने वाले सभी दस्तावेजों को वापस कर देगा। जैसा कि आप देख सकते हैं कि मैं एक तिथि सीमा भी निर्दिष्ट कर सकता हूं और आप अपनी खोज को परिभाषित करने के लिए अन्य ऑपरेटरों का उपयोग कर सकते हैं। https://developers.google.com/drive/web/search-parameters

यह मेरे लिए एक महान खोज था और मुझे उम्मीद है कि यह कुछ अन्य लोगों की मदद कर सकता है।

function searchFolder(){ 
var parent = DriveApp.getFolderById(‘*******************’); // folder Id 
var search = 'modifiedDate >"2014-08-01" and modifiedDate < "2014-12-31" and fullText contains "PUT SEARCH TEXT HERE"'; 
var specificFolder = parent.searchFiles(search); 

while (specificFolder.hasNext()) { 
    var file = specificFolder.next(); 
    Logger.log(file.getName()); 
    Logger.log(file.getId()); 
    } 

} 
0

मैं इस Chrome एक्सटेंशन में समारोह को लागू किया। https://chrome.google.com/webstore/detail/advanced-drive-search/chomjcpadndbjgkanbaakmjehdoighab

आप यहाँ https://github.com/kissrobber/advanced_google_drive_search_chrome_extension

कोड है कि क्या जांच कर सकते हैं

  • सभी फ़ोल्डर
  • folder_id और वंशज folder_ids साथ एक प्रश्न का निर्माण हो जाता है। इस (<folder_id> in parents or <folder_id> in parents or ....)

यदि आपको प्रदर्शन के साथ चिंता है, तो क्रोम एक्सटेंशन आज़माएं।

0

एक और कामकाज है जिसे किसी तीसरे पक्ष के ऐप या एक्सटेंशन की आवश्यकता नहीं है।

  • साथ है अपने फ़ोल्डर (जो में आप कुछ खोज करना चाहते हैं)
  • खोजें निकालें: फिल्टर ट्रैश किए गए। उदाहरण के लिए: is:trashed query_string
  • अपने फ़ोल्डर पुनर्स्थापित वापस
संबंधित मुद्दे