Unless otherwise configured, the client libraries useApplication Default Credentialsto 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 theUnifiedCredentialsOptionThe 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::appengine_v1::ApplicationsClient(
google::cloud::appengine_v1::MakeApplicationsConnection(options));
}
Follow these links to find examples for other*Clientclasses:
[[["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-09-04 UTC."],[[["\u003cp\u003eThis page provides documentation for overriding default authentication credentials in Google Cloud C++ client libraries, specifically within the App Engine context.\u003c/p\u003e\n"],["\u003cp\u003eThe latest release candidate is version 2.37.0-rc, with many other versions available ranging from 2.36.0 down to 2.11.0 for the appengine override authentication.\u003c/p\u003e\n"],["\u003cp\u003eUsers can override Application Default Credentials by providing a \u003ccode\u003eUnifiedCredentialsOption\u003c/code\u003e, demonstrated through loading a service account key file.\u003c/p\u003e\n"],["\u003cp\u003eExamples for overriding credentials are provided for multiple \u003ccode\u003e*Client\u003c/code\u003e classes within the \u003ccode\u003eappengine_v1\u003c/code\u003e namespace, such as \u003ccode\u003eApplicationsClient\u003c/code\u003e, \u003ccode\u003eAuthorizedCertificatesClient\u003c/code\u003e, and others.\u003c/p\u003e\n"],["\u003cp\u003eThe page recommends reviewing the "Best practices for managing service account keys" guide for more comprehensive information and suggests consulting "Authentication Components" for details on creating \u003ccode\u003egoogle::cloud::Credentials\u003c/code\u003e objects.\u003c/p\u003e\n"]]],[],null,[]]