Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Swift 3,4,5...) Google Cloud Storage List BucketsSee more Google Cloud Storage ExamplesDemonstrates how to retrieve a list of buckets for a given project.
func chilkatTest() { // This example 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 // scope "https://www.googleapis.com/auth/cloud-platform" let jsonToken = CkoJsonObject()! var success: Bool = jsonToken.loadFile("qa_data/tokens/googleCloudStorage.json") if success == false { print("\(jsonToken.lastErrorText!)") return } let http = CkoHttp()! http.authToken = jsonToken.string(of: "access_token") // For more info see Cloud Storage Documentation - Buckets: list // success = http.setUrlVar("PROJECT_ID", value: "chilkattest-1050") var resp: CkoHttpResponse? = http.quickGetObj("https://www.googleapis.com/storage/v1/b?project={$PROJECT_ID}") if http.lastMethodSuccess == false { print("\(http.lastErrorText!)") return } var responseCode: Int = resp!.statusCode.intValue if responseCode == 401 { print("\(resp!.bodyStr!)") print("If invalid credentials, then it is likely the access token expired.") print("Your app should automatically fetch a new access token and re-try.") resp = nil return } print("Response code: \(responseCode)") print("Response body") let json = CkoJsonObject()! success = json.load(resp!.bodyStr) resp = nil json.emitCompact = false print("\(json.emit()!)") // A response code = 200 indicates success, and the response body contains JSON such as this: // { // "kind": "storage#buckets", // "items": [ // { // "kind": "storage#bucket", // "id": "chilkat-bucket", // "selfLink": "https://www.googleapis.com/storage/v1/b/chilkat-bucket", // "projectNumber": "5332332985", // "name": "chilkat-bucket", // "timeCreated": "2018-10-23T00:04:44.507Z", // "updated": "2018-10-23T00:04:44.507Z", // "metageneration": "1", // "iamConfiguration": { // "bucketPolicyOnly": { // "enabled": false // } // }, // "location": "US", // "storageClass": "MULTI_REGIONAL", // "etag": "CAE=" // }, // { // "kind": "storage#bucket", // "id": "chilkat-images", // "selfLink": "https://www.googleapis.com/storage/v1/b/chilkat-images", // "projectNumber": "5332332985", // "name": "chilkat-images", // "timeCreated": "2018-10-23T11:24:43.000Z", // "updated": "2018-10-23T11:24:43.000Z", // "metageneration": "1", // "iamConfiguration": { // "bucketPolicyOnly": { // "enabled": false // } // }, // "location": "US", // "storageClass": "MULTI_REGIONAL", // "etag": "CAE=" // } // ] // } // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON var kind: String? var i: Int var count_i: Int var id: String? var selfLink: String? var projectNumber: String? var name: String? var timeCreated: String? var updated: String? var metageneration: String? var iamConfigurationBucketPolicyOnlyEnabled: Bool var location: String? var storageClass: String? var etag: String? kind = json.string(of: "kind") i = 0 count_i = json.size(ofArray: "items").intValue while i < count_i { json.i = i kind = json.string(of: "items[i].kind") id = json.string(of: "items[i].id") selfLink = json.string(of: "items[i].selfLink") projectNumber = json.string(of: "items[i].projectNumber") name = json.string(of: "items[i].name") timeCreated = json.string(of: "items[i].timeCreated") updated = json.string(of: "items[i].updated") metageneration = json.string(of: "items[i].metageneration") iamConfigurationBucketPolicyOnlyEnabled = json.bool(of: "items[i].iamConfiguration.bucketPolicyOnly.enabled") location = json.string(of: "items[i].location") storageClass = json.string(of: "items[i].storageClass") etag = json.string(of: "items[i].etag") i = i + 1 } } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.