Swift Google Drive: List Files

Back to Index

Lists files..

Documentation: https://developers.google.com/drive/v3/reference/files/list



func chilkatTest() {
    let rest = CkoRest()
    var success: Bool

    //   Provide a previously obtained OAuth2 access token.
    let oauth2 = CkoOAuth2()
    oauth2.AccessToken = "OAUTH2_ACCESS_TOKEN"
    rest.SetAuthOAuth2(oauth2)

    success = rest.Connect("www.googleapis.com", port: 443, tls: true, autoReconnect: true)
    if success != true {
        print("\(rest.LastErrorText)")
        return
    }

    let sbJson = CkoStringBuilder()
    success = rest.FullRequestNoBodySb("GET", uriPath: "/drive/v3/files", sb: sbJson)
    if success != true {
        print("\(rest.LastErrorText)")
        return
    }

    if rest.ResponseStatusCode.integerValue != 200 {
        print("Received error response code: \(rest.ResponseStatusCode.integerValue)")
        print("Response body:")
        print("\(sbJson.GetAsString())")
        return
    }

    let json = CkoJsonObject()
    json.LoadSb(sbJson)

    //  The following code parses the JSON response.
    //  A sample JSON response is shown below the sample code.
    var kind: String?
    var incompleteSearch: Bool
    var i: Int
    var count_i: Int
    var id: String?
    var name: String?
    var mimeType: String?

    kind = json.StringOf("kind")
    incompleteSearch = json.BoolOf("incompleteSearch")
    i = 0
    count_i = json.SizeOfArray("files").integerValue
    while i < count_i {
        json.I = i
        kind = json.StringOf("files[i].kind")
        id = json.StringOf("files[i].id")
        name = json.StringOf("files[i].name")
        mimeType = json.StringOf("files[i].mimeType")
        i = i + 1
    }

    print("Example Completed.")

}

Sample JSON Response Body

{
 "kind": "drive#fileList",
 "incompleteSearch": false,
 "files": [
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolT1E4blNEaHlBVTg",
   "name": "misc",
   "mimeType": "application/vnd.google-apps.folder"
  },
  {
   "kind": "drive#file",
   "id": "0B84ttUI7E_NyWHBYNUlFRGZSWVE",
   "name": "02112017091435553-LW0826-058444946-4C414E43.xml",
   "mimeType": "application/xml"
  },
  {
   "kind": "drive#file",
   "id": "0B5w0YPzxv8g6SmRDTWUweEJCeVk",
   "name": "Sales in 2004.pdf",
   "mimeType": "application/pdf"
  },
  {
   "kind": "drive#file",
   "id": "0By-hrxCCDzSQUGxJY0hzNUFpNmc",
   "name": "helloWorld.txt",
   "mimeType": "text/plain"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolMjZhSkV0a2tUX3c",
   "name": "hamletC.xml",
   "mimeType": "text/xml"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolVlA1d0tscUtRLXc",
   "name": "chilkat",
   "mimeType": "application/vnd.google-apps.folder"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolelZ2UGdPZmlJTmc",
   "name": "hamlet2.xml",
   "mimeType": "text/xml"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolaWNqLWJqLUhwb2M",
   "name": "starfish3.jpg",
   "mimeType": "image/jpeg"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolNlFnbDhWZ3g3UGc",
   "name": "starfish4.jpg",
   "mimeType": "image/jpeg"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolQlExSlBQT1phZXM",
   "name": "pigs.json",
   "mimeType": "attachment/json"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolVHRPVkxtYWFtZkk",
   "name": "starfish20.jpg",
   "mimeType": "image/jpeg"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolRGZEV3ZGUTZfNFk",
   "name": "penguins2.jpg",
   "mimeType": "image/jpeg"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolS2FXSjliMXQxSU0",
   "name": "starfish.jpg",
   "mimeType": "image/jpeg"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolREhVUzVWRUlFeGM",
   "name": "Пингвины.jpg",
   "mimeType": "image/jpeg"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolZUhxckMzb0dRMzg",
   "name": "starfish.jpg",
   "mimeType": "image/jpeg"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolbUF6WS1Gei1oalk",
   "name": "penguins.jpg",
   "mimeType": "image/jpeg"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYola296ODZUSm5GYU0",
   "name": "123",
   "mimeType": "application/vnd.google-apps.folder"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolbTE3c3J5RHBUcHM",
   "name": "abc",
   "mimeType": "application/vnd.google-apps.folder"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolTmhybWJSUGd5Q2c",
   "name": "testHello.txt",
   "mimeType": "text/plain"
  },
  {
   "kind": "drive#file",
   "id": "0B53Q6OSTWYolY2tPU1BnYW02T2c",
   "name": "testFolder",
   "mimeType": "application/vnd.google-apps.folder"
  }
 ]
}