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))));
}
Override Publisher Default Authentication
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 2026-03-13 UTC.