Google ड्राइव एपीआई - एंड्रॉइड - ड्राइव फ़ाइल आईडी कैसे प्राप्त करें?

Mariano Gonzalez 11/24/2014. 3 answers, 6.448 views
android android google-drive-sdk google-drive-sdk google-drive-android-api google-drive-android-api

मैं एक एंड्रॉइड ऐप विकसित करने की कोशिश कर रहा हूं जो मेरे Google ड्राइव फ़ोल्डर में संग्रहीत एक एक्सएमएल फ़ाइल पढ़ सकता है, पहले विचार फ़ाइल खोलने और सामग्री को संभालने का प्रयास कर रहा है।

मैंने एंड्रॉइड के लिए Google ड्राइव एपीआई दस्तावेज़ पढ़े हैं और मैं एक बिंदु पर पहुंच गया हूं कि मैं खो गया हूं, यह फ़ाइल सामग्री के साथ काम कर रहा है।

इस गाइड के अनुसार ड्राइव से फ़ाइल खोलने का तरीका यह है:

DriveFile file = ...
file.open(mGoogleApiClient, DriveFile.MODE_READ_ONLY, null).setResultCallback(contentsOpenedCallback);` 

खोजना मुझे एहसास हुआ कि पूरा कोड (जिसमें वे शामिल नहीं हैं):

DriveFile file = Drive.DriveApi.getFile(mGoogleApiClient,DriveId.bg(id));
file.open(mGoogleApiClient, DriveFile.MODE_READ_ONLY, null).setResultCallback(contentsOpenedCallback);` 

वैसे समस्या यह है कि मुझे फ़ाइल "आईडी" नहीं पता है। मैंने Google ड्राइव के वेब लिंक से आईडी की कोशिश की है, इस तरह कुछ ( https://drive.google.com/open ? Id = 1EafJ-T6H4xI9VaUuUO5FMVb9Y30xyr7OHuISQ53avso और authuser = 0) लेकिन काम नहीं किया।

1 Comments
Shailendra 12/06/2015
आप newOpenFileActivityBuilder API का उपयोग कर ड्राइव फ़ाइल पिकर खोलने का प्रयास कर सकते हैं जो उपयोगकर्ता को ड्राइव फ़ाइल चुनने की अनुमति देता है। उस एपीआई कॉल का कॉलबैक आपको चुनी हुई फाइल का ड्राइवआईडी वापस कर देगा और फिर आप सामग्री को अभी भी प्राप्त कर सकते हैं। Developers.google.com/drive/android पर developers.google.com/drive/android/intro#files और 'फ़ाइल खोलें' कोड देखें

3 Answers


Rivero 11/27/2015.

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

Query query = new Query.Builder()
    .addFilter(Filters.eq(SearchableField.TITLE, "HelloWorld.java"))
    .build(); 

और परिणामों पर पुन: प्रयास करने के लिए कॉलबैक फ़ंक्शन सेट करें:

Drive.DriveApi.query(googleApiClient, query)
        .setResultCallback(new OnChildrenRetrievedCallback() {

    @Override
    public void onChildrenRetrieved(MetadataBufferResult result) {
        // Iterate over the matching Metadata instances in mdResultSet
    }
}); 

आप यहां विषय पर अधिक जानकारी प्राप्त कर सकते हैं: https://developers.google.com/drive/android/queries


Mariano Gonzalez 12/04/2014.

इस समस्या के लिए मैंने जो समाधान पाया वह ऐप से फाइल बना रहा था। Google ड्राइव एपीआई डेमो ऐप से कक्षा ( "CreateFileActivity.java" ) का उपयोग करना।

इस कक्षा के साथ मैं वैश्विक ड्राइवआईडी चर में नई फ़ाइल से रिटर्निंग ड्राइविड को सहेजता हूं।

final private ResultCallback fileCallback = new
        ResultCallback() {
            @Override
            public void onResult(DriveFolder.DriveFileResult result) {
                if (!result.getStatus().isSuccess()) {
                    Log.e("","Error while trying to create the file");
                    return;
                }
                Id=result.getDriveFile().getDriveId();
                Log.e("","Created a file with content: " + Id);

            }
        }; 

फिर इस आईडी के साथ किसी अन्य विधि में मैं फ़ाइल को कॉल करता हूं और इसे पढ़ता हूं (अगर मैं चाहता हूं कि मैं Google ड्राइव वेब ऐप से इस फ़ाइल की जानकारी को संपादित कर सकता हूं):

public void leer(){
       DriveFile file = Drive.DriveApi.getFile(getGoogleApiClient(),Id);
       file.open(mGoogleApiClient, DriveFile.MODE_READ_ONLY, null)
               .setResultCallback(contentsOpenedCallback);
   }
ResultCallback contentsOpenedCallback =
        new ResultCallback() {
            @Override
            public void onResult(DriveApi.DriveContentsResult result) {
                if (!result.getStatus().isSuccess()) {
                    Log.e("Error:","No se puede abrir el archivo o no se encuentra");
                    return;
                }
                // DriveContents object contains pointers
                // to the actual byte stream
                DriveContents contents = result.getDriveContents();
                BufferedReader reader = new BufferedReader(new InputStreamReader(contents.getInputStream()));
                StringBuilder builder = new StringBuilder();
                String line;
                try {
                    while ((line = reader.readLine()) != null) {
                        builder.append(line);
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
                String contentsAsString = builder.toString();
                Log.e("RESULT:",contentsAsString);
            }
        }; 
2 comments
Achin 06/15/2016
यह सबसे अच्छा समाधान है :)
Achin 06/18/2016
लेकिन मैं एक ही फाइल की सामग्री को कैसे संपादित कर सकता हूं, कृपया आप कुछ कोड पोस्ट कर सकते हैं?

seanpj 05/23/2017.

मैं कुछ महीने पहले इस सामान के साथ खेल रहा हूं, और अभी भी गिटूब पर कुछ कोड है। यह VERY outdated हो सकता है (libver 15 या तो), लेकिन यह संदर्भ बिंदु के रूप में कार्य कर सकता है, और यह है (मुझे सरल उम्मीद है)। यहाँ देखो इसे नीचे खींचें, प्लग इन करें, चरणबद्ध करें। ठीक करें जो अब काम नहीं कर रहा है :-)। मैंने इसे कुछ समय पहले छोड़ दिया है।

इस तथ्य से अवगत रहें कि Google ड्राइव एंड्रॉइड एपीआई ऑब्जेक्ट्स के लिए 2 अलग-अलग आईडी हैं, SO 22841237 देखें।

आम तौर पर, आप आमतौर पर फ़ाइल / फ़ोल्डर नाम जानने के साथ शुरू करते हैं, ऑब्जेक्ट्स की सूची प्राप्त करने के लिए जीडीएए से पूछताछ करें। उनमें से प्रत्येक ड्राइवआईडी और संसाधन आईडी उत्पन्न करेगा। ऑब्जेक्ट्स में हेरफेर करने के लिए ड्राइवआईड का उपयोग आपके ऐप में किया जाता है (इसका मतलब आपके एंड्रॉइड ऐप और / या डिवाइस के बाहर कुछ भी नहीं है)। संसाधन आईडी वह स्ट्रिंग है जो यूआरएल में विभिन्न रूपों में दिखाई देती है और आपके ऐप के बाहर इस्तेमाल की जा सकती है (उदाहरण के लिए वेब ब्राउजर ...)। इस रैपर को कुछ महसूस करने के लिए देखो कि यह कैसे काम करता है। लेकिन फिर, यह कुछ संस्करण वापस आ गया है, इसलिए कोई गारंटी नहीं है। शुभ लाभ...


HighResolutionMusic.com - Download Hi-Res Songs

1 BLACKPINK

Kiss And Make Up flac

BLACKPINK. 2018. Writer: Soke;Kny Factory;Billboard;Chelcee Grimes;Teddy Park;Marc Vincent;Dua Lipa.
2 Martin Garrix

Waiting For Tomorrow flac

Martin Garrix. 2018. Writer: Pierce Fulton;Mike Shinoda;Martijn Garritsen;Brad Delson.
3 John Legend

Written In The Stars flac

John Legend. 2018. Writer: Kiana Brown;Santoy;Kevin White;Mike Woods;MZMC;The Heavy Group;Rice N' Peas.
4 Martin Garrix

Access flac

Martin Garrix. 2018. Writer: Martin Garrix.
5 Martin Garrix

Yottabyte flac

Martin Garrix. 2018. Writer: Martin Garrix.
6 Alan Walker

Diamond Heart flac

Alan Walker. 2018. Writer: Alan Walker;Sophia Somajo;Mood Melodies;James Njie;Thomas Troelsen;Kristoffer Haugan;Edvard Normann;Anders Froen;Gunnar Greve;Yann Bargain;Victor Verpillat;Fredrik Borch Olsen.
7 Cardi B

Taki Taki flac

Cardi B. 2018. Writer: Bava;Juan Vasquez;Vicente Saavedra;Jordan Thorpe;DJ Snake;Ozuna;Cardi B;Selena Gomez.
8 Bradley Cooper

Shallow flac

Bradley Cooper. 2018. Writer: Andrew Wyatt;Anthony Rossomando;Mark Ronson;Lady Gaga.
9 Post Malone

Sunflower flac

Post Malone. 2018. Writer: Louis Bell;Billy Walsh;Carter Lang;Swae Lee;Post Malone.
10 Dyro

Latency flac

Dyro. 2018. Writer: Martin Garrix;Dyro.
11 Lady Gaga

I'll Never Love Again flac

Lady Gaga. 2018. Writer: Benjamin Rice;Lady Gaga.
12 Rita Ora

Let You Love Me flac

Rita Ora. 2018. Writer: Rita Ora.
13 Zara Larsson

Ruin My Life flac

Zara Larsson. 2018. Writer: Delacey;Michael Pollack;Stefan Johnson;Jordan Johnson;Sermstyle;Jackson Foote.
14 Halsey

Without Me flac

Halsey. 2018. Writer: Halsey;Delacey;Louis Bell;Amy Allen;Justin Timberlake;Timbaland;Scott Storch.
15 ZAYN

Fingers flac

ZAYN. 2018. Writer: Zayn Malik;Alex Oriet;David Phelan.
16 Dewain Whitmore

Burn Out flac

Dewain Whitmore. 2018. Writer: Dewain Whitmore;Ilsey Juber;Emilio Behr;Martijn Garritsen.
17 Mako

Rise flac

Mako. 2018. Writer: Riot Music Team;Mako;Justin Tranter.
18 Bradley Cooper

Always Remember Us This Way flac

Bradley Cooper. 2018. Writer: Lady Gaga;Dave Cobb.
19 Blinders

Breach (Walk Alone) flac

Blinders. 2018. Writer: Dewain Whitmore;Ilsey Juber;Blinders;Martin Garrix.
20 Julia Michaels

There's No Way flac

Julia Michaels. 2018. Writer: Ian Kirkpatrick;Justin Tranter;Julia Michaels;Lauv.

Related questions

Hot questions

Language

Popular Tags