This project aims to bring over as many Google Cloud Platform APIs as possible to server side swift projects built on top of Swift NIO.
Because the products and API's are so vast this will start slowly and over time add more API's as time goes on.
Before you begin note that this package only supports using Service accounts to authenticate to the various Google Cloud Platform APIs using OAuth2.
- Select or create a Cloud Platform project.
- Enable billing for your project.
- Enable the Google Cloud Storage API.
- Set up authentication with a service account so you can access the API from your local workstation.
In your Package.swift
file, add the following
.package(url: "https://github.com/vapor-community/google-cloud-kit.git", from: "1.0.0-alpha.1")
Now setup the configuration.
import GoogleCloudKit
let credentialsConfig = GoogleCloudCredentialsConfiguration(project: "myprojectid-12345", credentialsFile: "/path/to/service-account.json")
Optionally, you can register an empty GoogleCloudCredentialsConfiguration()
and configure the following environment variables:
export GOOGLE_PROJECT_ID=myprojectid-12345
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/service-account.json
Additionally, you can copy and paste the contents of your Service Account JSON file as the value for the GOOGLE_APPLICATION_CREDENTIALS
environment variable:
export GOOGLE_APPLICATION_CREDENTIALS=[Valid Pasted JSON]
Currently the following API's are implemented and you can follow the setup guides for each specific API to integrate with your project.
- Cloud Storage Setup guide
- Datastore Setup guide
- SecretManager Setup Guide
- Translation Setup Guide
- IAM Service Account Credentials Setup Guide