Sample code for 30+ languages & platforms
Android™

List all Pages of Files in Google Drive

See more Google Drive Examples

Demonstrates how iterate over pages to list files in Google Drive.

See Google Drive Files list for more optional HTTP parameters.

Chilkat Android™ Downloads

Android™
// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;

import android.app.Activity;
import com.chilkatsoft.*;

import android.widget.TextView;
import android.os.Bundle;

public class SimpleActivity extends Activity {

  private static final String TAG = "Chilkat";

  // Called when the activity is first created.
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    boolean success = false;

    success = true;

    // It requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    // This example uses a previously obtained access token having permission for the 
    // Google Drive scope.

    CkAuthGoogle gAuth = new CkAuthGoogle();
    gAuth.put_AccessToken("GOOGLE-DRIVE-ACCESS-TOKEN");

    CkRest rest = new CkRest();

    // Connect using TLS.
    boolean bAutoReconnect = true;
    success = rest.Connect("www.googleapis.com",443,true,bAutoReconnect);

    // Provide the authentication credentials (i.e. the access token)
    rest.SetAuthGoogle(gAuth);

    // Get 5 results per page for testing.  (The default page size is 100, with a max of 1000.
    rest.AddQueryParam("pageSize","5");

    CkJsonObject json = new CkJsonObject();
    int i;
    int numFiles;

    // Send the request for the 1st page.
    String jsonResponse = rest.fullRequestNoBody("GET","/drive/v3/files");

    int pageNumber = 1;
    String pageToken;
    boolean bContinueLoop = rest.get_LastMethodSuccess() and (rest.get_ResponseStatusCode() == 200);

    while (bContinueLoop == true) {

        Log.i(TAG, "---- Page " + String.valueOf(pageNumber) + " ----");

        // Iterate over each file in the response and show the name, id, and mimeType.
        json.Load(jsonResponse);

        // See the sample JSON response at the bottom of this example.
        numFiles = json.SizeOfArray("files");
        i = 0;
        while (i < numFiles) {
            json.put_I(i);
            Log.i(TAG, "name: " + json.stringOf("files[i].name"));
            Log.i(TAG, "id: " + json.stringOf("files[i].id"));
            Log.i(TAG, "mimeType: " + json.stringOf("files[i].mimeType"));
            Log.i(TAG, "-");
            i = i + 1;
            }

        // Get the next page of files.
        // If the "nextPageToken" is present in the JSON response, then use it in the "pageToken" parameter
        // for the next request.   If no "nextPageToken" was present, then this was the last page of files.
        pageToken = json.stringOf("nextPageToken");
        bContinueLoop = false;
        boolean bHasMorePages = json.get_LastMethodSuccess();
        if (bHasMorePages == true) {
            rest.ClearAllQueryParams();
            rest.AddQueryParam("pageSize","5");
            rest.AddQueryParam("pageToken",pageToken);
            jsonResponse = rest.fullRequestNoBody("GET","/drive/v3/files");
            bContinueLoop = rest.get_LastMethodSuccess() and (rest.get_ResponseStatusCode() == 200);
            pageNumber = pageNumber + 1;
            }

        }

    if (rest.get_LastMethodSuccess() != true) {
        Log.i(TAG, rest.lastErrorText());
        return;
        }

    // A successful response will have a status code equal to 200.
    if (rest.get_ResponseStatusCode() != 200) {
        Log.i(TAG, "response status code = " + String.valueOf(rest.get_ResponseStatusCode()));
        Log.i(TAG, "response status text = " + rest.responseStatusText());
        Log.i(TAG, "response header: " + rest.responseHeader());
        Log.i(TAG, "response JSON: " + jsonResponse);
        return;
        }

    // A successful JSON response looks like this:
    // {
    //  "kind": "drive#fileList",
    //  "files": [
    //    {
    //      "kind": "drive#file",
    //      "id": "0B53Q6OSTWYolenpjTEU4ekJlQUU",
    //      "name": "test",
    //      "mimeType": "application/vnd.google-apps.folder"
    //    },
    //    {
    //      "kind": "drive#file",
    //      "id": "0B53Q6OSTWYolRm4ycjZtdXhRaEE",
    //      "name": "starfish4.jpg",
    //      "mimeType": "image/jpeg"
    //    },
    //    {
    //      "kind": "drive#file",
    //      "id": "0B53Q6OSTWYolMWt2VzN0Qlo1UjA",
    //      "name": "hamlet2.xml",
    //      "mimeType": "text/xml"
    //    },
    // ...
    //    {
    //      "kind": "drive#file",
    //      "id": "0B53Q6OSTWYolc3RhcnRlcl9maWxlX2Rhc2hlclYw",
    //      "name": "Getting started",
    //      "mimeType": "application/pdf"
    //    }
    //  ]
    // }

  }

  static {
      System.loadLibrary("chilkat");

      // Note: If the incorrect library name is passed to System.loadLibrary,
      // then you will see the following error message at application startup:
      //"The application <your-application-name> has stopped unexpectedly. Please try again."
  }
}