createGCSClient static method

Future<AutoRefreshingAuthClient> createGCSClient(
  1. dynamic credential
)

Implementation

static Future<auth.AutoRefreshingAuthClient> createGCSClient(
    credential) async {
  if (credential is String) {
    var credentialLC = credential.toLowerCase();
    if (credentialLC == 'metadata' || credentialLC == 'metadata.server') {
      return auth.clientViaMetadataServer();
    }
  }

  final accountCredentials =
      auth.ServiceAccountCredentials.fromJson(credential);

  try {
    var client = await auth.clientViaServiceAccount(
        accountCredentials, gcs.Storage.SCOPES);
    return client;
  } catch (e) {
    throw StateError("Error creating GCP client: $e");
  }
}