Override the authentication configuration
Some applications cannot use the default authentication mechanism (known as [Application Default Credentials]). You can override this default usinggoogle::cloud::UnifiedCredentialsOption. The following example shows how to explicitly load a service account key file.
namespace spanner = ::google::cloud::spanner; [](std::string const& project_id, std::string const& instance_id, std::string const& database_id, std::string const& keyfile) { auto is = std::ifstream(keyfile); is.exceptions(std::ios::badbit); auto contents = std::string(std::istreambuf_iterator<char>(is.rdbuf()), {}); auto options = google::cloud::Options{}.set<google::cloud::UnifiedCredentialsOption>( google::cloud::MakeServiceAccountCredentials(contents)); return spanner::Client(spanner::MakeConnection( spanner::Database(project_id, instance_id, database_id), options)); }Keep in mind that we chose this as an example because it is relatively easy to understand. Consult the [Best practices for managing service account keys] guide for more details.
Follow these links to find examples for other*Client classes:
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-12-18 UTC.