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::resourcemanager_v3::FoldersClient(
google::cloud::resourcemanager_v3::MakeFoldersConnection(options));
}
Follow these links to find examples for other *Client classes:
[[["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-14 UTC."],[[["This page provides documentation for overriding default authentication credentials in the Google Cloud C++ client libraries, specifically for the ResourceManager service."],["The latest version available for the ResourceManager C++ client library is 2.37.0-rc, and various previous versions are also listed, dating back to version 2.11.0."],["The default authentication method utilizes Application Default Credentials, but can be overridden using the `UnifiedCredentialsOption` with service account keys, as demonstrated in the provided code example."],["Examples of how to use service account credentials are provided for multiple `*Client` classes, including `FoldersClient`, `OrganizationsClient`, `ProjectsClient`, `TagBindingsClient`, `TagHoldsClient`, `TagKeysClient`, and `TagValuesClient`."],["Users are encouraged to refer to the \"Best practices for managing service account keys\" guide for detailed information on managing service account credentials, and to check the Authentication Components page for more information on creating credentials objects."]]],[]]