python,如何编写桌面应用程序而不共享秘密客户端凭据?

时间:2014-10-28 10:11:34

标签: python gmail-api

我在这个例子后面的python中编写了一个opensource应用程序:  https://developers.google.com/gmail/api/quickstart/quickstart-python?hl=it

我正确生成了client_secret.json并成功运行了该示例。

现在..考虑到我开始编写我的代码并根据谷歌文档:

  

警告:将您的客户保密。如果有人获取了您的客户机密,他们可以使用它来使用您的配额,对您的Google API控制台项目收取费用,并请求访问用户数据。

那么,我怎么能(将来)分享我的应用程序的代码并同时保留client_secret.json的秘密?

1 个答案:

答案 0 :(得分:4)

好的,我在这里得到了答案:

https://developers.google.com/accounts/docs/OAuth2InstalledApp

  

此流程类似于使用OAuth 2.0 for Web中显示的流程   服务器应用程序,但有三个不同之处:

     
      
  • 创建客户端ID时,指定您的应用程序是   已安装的应用程序这导致了不同的值   redirect_uri参数。
  •   
  • 从中获取的客户端ID和客户端密钥   开发人员控制台嵌入在您的源代码中   应用。在这种情况下,客户端秘密显然不是   被视为秘密。
  •   
  • 授权码可以退回给您   应用程序在浏览器的标题栏中或http:// localhost   查询字符串中的端口。
  •   

换句话说,如果您指定您的项目是"已安装的应用程序"在Google API控制台中创建它时,您可以安全地在代码中嵌入秘密