Google cloud platform 如何在C+中创建没有json的gcs::Client+;谷歌云存储客户端库?

Google cloud platform 如何在C+中创建没有json的gcs::Client+;谷歌云存储客户端库?,google-cloud-platform,google-cloud-storage,Google Cloud Platform,Google Cloud Storage,我需要在google云存储中“作为最终用户进行身份验证”(我需要代表我的应用程序的最终用户访问资源)。因为我的应用程序是用C++编写的。我编译了C++谷歌云存储客户端库。但它声明需要客户端的JSON文件来创建gcs::client对象。我找不到任何其他方法来创建包含项目id、服务电子邮件、私钥、密钥名和bucket名等信息的客户端(这些信息足以在python中进行身份验证)。有没有办法在谷歌云存储C++客户端库中对上述用户进行身份验证? < P>在谷歌云中有三种凭证: API密钥 服务帐户凭据

我需要在google云存储中“作为最终用户进行身份验证”(我需要代表我的应用程序的最终用户访问资源)。因为我的应用程序是用C++编写的。我编译了C++谷歌云存储客户端库。但它声明需要客户端的JSON文件来创建gcs::client对象。我找不到任何其他方法来创建包含项目id、服务电子邮件、私钥、密钥名和bucket名等信息的客户端(这些信息足以在python中进行身份验证)。有没有办法在谷歌云存储C++客户端库中对上述用户进行身份验证?

< P>在谷歌云中有三种凭证:

  • API密钥
  • 服务帐户凭据
  • 用户凭据(OAuth 2.0)
API密钥不适用于您的用例。这些凭证用于不需要标识的Google服务

您引用的示例代码使用(需要)服务帐户凭据,这些凭据存储为Json文件。这是验证和授权软件应用程序的标准方法

如果您的目标是让您的用户使用其Google帐户进行授权,并在您的软件中使用OAuth 2.0令牌访问Google云存储,那么也可以这样做。您需要在应用程序中实现GoogleOAuth2.0流,这将为用户启动浏览器。Google将使用OAuth令牌回调您的代码

<>建议:如果您以前没有对OAuth2进行任何开发,我不会从C++中的谷歌OAuth-2开发开始。使用像Python这样的语言,它有很多例子,这样你就能感觉到OAuth是如何工作的。

当你说你正在“作为最终用户进行身份验证”时,你的意思是用户将在谷歌云平台上拥有一个帐户,你正计划使用他们的凭据吗(可能通过OAuth访问谷歌云存储?如果是,我很抱歉地说,我们尚未在谷歌云cpp中实现对该工作流的支持


<>我提交了跟踪,可以在这里添加更多的问题或建议。

你能扩展这个吗?C++ OAuthScript库支持嵌入式Web服务器。一旦你有了访问令牌,所有需要的就是在C++ SDK中创建证书。我缺少什么?你可能是对的,这应该是有用的。(1)我们从未将C++ SDK和C++ OAuth库链接在一起,(2)C++ SDK不知道如何处理两个因素身份验证用户()。无需启动浏览器即可完成此操作吗?我的应用程序无法访问浏览器。Google OAuth 2.0用户凭据需要与Google的web浏览器会话进行身份验证。此要求没有已知的方法。