Stay organized with collections
Save and categorize content based on your preferences.
Override @c Publisher Default Authentication
namespace pubsub = ::google::cloud::pubsub;
using ::google::cloud::Options;
[](std::string project_id, std::string topic_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 topic = pubsub::Topic(std::move(project_id), std::move(topic_id));
return pubsub::Publisher(pubsub::MakePublisherConnection(
std::move(topic),
Options{}.set<google::cloud::UnifiedCredentialsOption>(
google::cloud::MakeServiceAccountCredentials(contents))));
}
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License
, and code samples are licensed under the Apache 2.0 License
. For details, see the Google Developers Site Policies
. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-09-04 UTC.
[[["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."],[],[],null,["Version 2.39.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/pubsub/latest/Publisher-service-account-snippet)\n- [2.41.0](/cpp/docs/reference/pubsub/2.41.0/Publisher-service-account-snippet)\n- [2.40.0](/cpp/docs/reference/pubsub/2.40.0/Publisher-service-account-snippet)\n- [2.39.0](/cpp/docs/reference/pubsub/2.39.0/Publisher-service-account-snippet)\n- [2.38.0](/cpp/docs/reference/pubsub/2.38.0/Publisher-service-account-snippet)\n- [2.37.0](/cpp/docs/reference/pubsub/2.37.0/Publisher-service-account-snippet)\n- [2.36.0](/cpp/docs/reference/pubsub/2.36.0/Publisher-service-account-snippet)\n- [2.35.0](/cpp/docs/reference/pubsub/2.35.0/Publisher-service-account-snippet)\n- [2.34.0](/cpp/docs/reference/pubsub/2.34.0/Publisher-service-account-snippet)\n- [2.33.0](/cpp/docs/reference/pubsub/2.33.0/Publisher-service-account-snippet)\n- [2.32.0](/cpp/docs/reference/pubsub/2.32.0/Publisher-service-account-snippet)\n- [2.31.0](/cpp/docs/reference/pubsub/2.31.0/Publisher-service-account-snippet)\n- [2.30.0](/cpp/docs/reference/pubsub/2.30.0/Publisher-service-account-snippet)\n- [2.29.0](/cpp/docs/reference/pubsub/2.29.0/Publisher-service-account-snippet)\n- [2.28.0](/cpp/docs/reference/pubsub/2.28.0/Publisher-service-account-snippet)\n- [2.27.0](/cpp/docs/reference/pubsub/2.27.0/Publisher-service-account-snippet)\n- [2.26.0](/cpp/docs/reference/pubsub/2.26.0/Publisher-service-account-snippet)\n- [2.25.1](/cpp/docs/reference/pubsub/2.25.1/Publisher-service-account-snippet)\n- [2.24.0](/cpp/docs/reference/pubsub/2.24.0/Publisher-service-account-snippet)\n- [2.23.0](/cpp/docs/reference/pubsub/2.23.0/Publisher-service-account-snippet)\n- [2.22.1](/cpp/docs/reference/pubsub/2.22.1/Publisher-service-account-snippet)\n- [2.21.0](/cpp/docs/reference/pubsub/2.21.0/Publisher-service-account-snippet)\n- [2.20.0](/cpp/docs/reference/pubsub/2.20.0/Publisher-service-account-snippet)\n- [2.19.0](/cpp/docs/reference/pubsub/2.19.0/Publisher-service-account-snippet)\n- [2.18.0](/cpp/docs/reference/pubsub/2.18.0/Publisher-service-account-snippet)\n- [2.17.0](/cpp/docs/reference/pubsub/2.17.0/Publisher-service-account-snippet)\n- [2.16.0](/cpp/docs/reference/pubsub/2.16.0/Publisher-service-account-snippet)\n- [2.15.1](/cpp/docs/reference/pubsub/2.15.1/Publisher-service-account-snippet)\n- [2.14.0](/cpp/docs/reference/pubsub/2.14.0/Publisher-service-account-snippet)\n- [2.13.0](/cpp/docs/reference/pubsub/2.13.0/Publisher-service-account-snippet)\n- [2.12.0](/cpp/docs/reference/pubsub/2.12.0/Publisher-service-account-snippet)\n- [2.11.0](/cpp/docs/reference/pubsub/2.11.0/Publisher-service-account-snippet) \n\nOverride @c Publisher Default Authentication\n============================================\n\n namespace pubsub = ::google::cloud::pubsub;\n using ::google::cloud::Options;\n [](std::string project_id, std::string topic_id, std::string const& keyfile) {\n auto is = std::ifstream(keyfile);\n is.exceptions(std::ios::badbit);\n auto contents = std::string(std::istreambuf_iterator\u003cchar\u003e(is.rdbuf()), {});\n auto topic = pubsub::Topic(std::move(project_id), std::move(topic_id));\n return pubsub::Publisher(pubsub::MakePublisherConnection(\n std::move(topic),\n Options{}.set\u003cgoogle::cloud::UnifiedCredentialsOption\u003e(\n google::cloud::MakeServiceAccountCredentials(contents))));\n }"]]