# GoogleCloudStorageAPI ## Getting Started If you only need to use the [Google Cloud Storage API](https://cloud.google.com/storage/), then this guide will help you get started. In your `Package.swift` file, make sure you have the following dependencies and targets ```swift dependencies: [ //... .package(url: "https://github.com/vapor-community/google-cloud.git", from: "1.0.0-rc"), ], targets: [ .target(name: "MyAppName", dependencies: [ //... .product(name: "CloudStorage", package: "google-cloud"), ]), ] ``` Now you can setup the configuration for any GCP API globally via `Application`. In `configure.swift` ```swift import CloudStorage app.googleCloud.credentials = try GoogleCloudCredentialsConfiguration(projectId: "myprojectid-12345", credentialsFile: "~/path/to/service-account.json") ``` Next we setup the CloudStorage API configuration (specific to this API). ```swift app.googleCloud.storage.configuration = .default() ``` Now we can start using the GoogleCloudStorage API There's a handy extension on `Request` that you can use to get access to a cloud storage client via a property named `gcs`. ```swift struct UploadRequest: Content { var data: Data var filename: String } func uploadImage(_ req: Request) throws { let upload = try req.content.decode(UploadRequest.self) req.gcs.object.createSimpleUpload(bucket: "vapor-cloud-storage-demo", data: upload.data, name: upload.filename, contentType: "image/jpeg").flatMap { uploadedObject in print(uploadedObject.mediaLink) // prints the download link for the image. } } ```