Unless otherwise configured, the client libraries use Application Default Credentials to authenticate with Google Cloud Services. While this works for most applications, in some cases you may need to override this default. You can do so by providing the UnifiedCredentialsOption The following example shows how to explicitly load a service account key file:
[](std::string const& keyfile) {
auto is = std::ifstream(keyfile);
is.exceptions(std::ios::badbit); // Minimal error handling in examples
auto contents = std::string(std::istreambuf_iterator<char>(is.rdbuf()), {});
auto options =
google::cloud::Options{}.set<google::cloud::UnifiedCredentialsOption>(
google::cloud::MakeServiceAccountCredentials(contents));
return google::cloud::batch_v1::BatchServiceClient(
google::cloud::batch_v1::MakeBatchServiceConnection(options));
}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-05 UTC."],[[["This document provides a list of versioned documentation for batch override authentication, ranging from the latest release candidate `2.37.0-rc` down to version `2.11.0`."],["The latest stable version of the documentation is `2.36.0`."],["The default authentication for the client libraries is [Application Default Credentials](https://cloud.google.com/docs/authentication#adc), but this can be overridden when necessary."],["Authentication can be overridden by using the [UnifiedCredentialsOption](https://cloud.google.com/cpp/docs/reference/common/latest/structgoogle_1_1cloud_1_1UnifiedCredentialsOption.html) and an example is provided for loading a service account key file."],["The [Authentication Components](https://cloud.google.com/cpp/docs/reference/common/latest/group__guac.html) page contains more information on creating [`google::cloud::Credentials`](https://cloud.google.com/cpp/docs/reference/common/latest/classgoogle_1_1cloud_1_1Credentials.html) objects."]]],[]]