private void googleDriveListFiles() { bool success = true; Chilkat.AuthGoogle gAuth = new Chilkat.AuthGoogle(); // This is our previously obtained access token... gAuth.AccessToken = getSavedAccessToken(); if (gAuth.AccessToken.Length == 0) { popupError("No previously obtained access token is available."); return; } Chilkat.Rest rest = new Chilkat.Rest(); // Connect using TLS. bool bAutoReconnect = true; success = rest.Connect("www.googleapis.com", 443, true, bAutoReconnect); // Provide the authentication credentials (i.e. the access key) rest.SetAuthGoogle(gAuth); // Add a search query parameter to only return files having names matching our criteria // See https://developers.google.com/drive/v3/web/search-parameters // ignore = rest.AddQueryParam("q","name contains 'starfish'"); // ignore = rest.AddQueryParam("maxResults","2"); // We are using the Google Drive V3 API... (not V2) string jsonResponse = rest.FullRequestNoBody("GET", "/drive/v3/files"); if (rest.LastMethodSuccess != true) { fgAppendToErrorLog(rest.LastErrorText); popupError("REST request failed."); 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" // } // ] //} // Iterate over the files and show the name and mimeType of each. Chilkat.JsonObject json = new Chilkat.JsonObject(); json.Load(jsonResponse); int numFiles = json.SizeOfArray("files"); int i = 0; while (i < numFiles) { json.I = i; fgAppendToErrorLog("name: " + json.StringOf("files[i].name") + "\r\n"); fgAppendToErrorLog("mimeType: " + json.StringOf("files[i].mimeType") + "\r\n"); i++; } }