[[["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\u003eThe webpage provides access to documentation and code snippets for various versions of the C++ Pub/Sub library, ranging from version 2.11.0 to the latest release candidate 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eEach version listed links to a "Publisher-service-account-snippet" page, demonstrating code related to publisher service accounts.\u003c/p\u003e\n"],["\u003cp\u003eThe most recent stable release on the page is version 2.36.0, with the latest release candidate being 2.37.0-rc.\u003c/p\u003e\n"],["\u003cp\u003eAn example code snippet demonstrates how to override the default authentication for a Pub/Sub publisher using a service account key file.\u003c/p\u003e\n"],["\u003cp\u003eThe lowest listed version of the pub/sub library on this page is 2.11.0 and the current version is listed as 2.18.0.\u003c/p\u003e\n"]]],[],null,["Version 2.18.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 }"]]