【问题标题】:Write to public Google Spreadsheet without your Username & Password在没有您的用户名和密码的情况下写入公共 Google 电子表格
【发布时间】:2014-08-27 10:54:19
【问题描述】:

我正在关注这个guide by google,关于如何使用 python 库访问电子表格。但是:然后我必须在没有加密的情况下在 python 脚本中编写我的谷歌用户名和密码,这对我来说是一个巨大的安全问题,尤其是当你将脚本交给其他人时。

那么:有没有办法在不提供用户名和密码的情况下使用 python 写入(公共)Google 电子表格?

Downloading data from there is possible.

【问题讨论】:

  • 将您的秘密数据移动到外部文件,例如auth.py,而不仅仅是将其导入您的主文件中。永远不要分享auth.py
  • ClientLogin 只是其中一种身份验证机制,而不是您想要使用的常用机制。您还可以使用AuthSubOAuth 或(通常是最好的)OAuth 2。阅读更多文档,而不仅仅是 hello world 示例,例如 Google 电子表格文档中的 Authorizing Requests

标签: python google-sheets


【解决方案1】:

OAuth 2 提示很好。我找到了PyDrive

来自docs of PyDrive

Drive API 需要 OAuth2.0 进行身份验证。 PyDrive 为您处理复杂的身份验证步骤,让您的生活更轻松。

  1. 转到APIs Console 并制作您自己的项目。
  2. 在“服务”菜单上,打开 Drive API。
  3. 在“API 访问”菜单上,创建 OAuth2.0 客户端 ID。
  4. 选择“应用程序类型”为 Web 应用程序。
  5. 为“重定向 URI”和“JavaScript 源”输入 http://localhost:8080/
  6. 点击Client ID右侧的“Download JSON”下载client_secrets.json

client_secrets.json 是包含应用程序所有身份验证信息的文件。将此文件放在您的工作目录中。

from pydrive.auth import GoogleAuth

gauth = GoogleAuth()
gauth.LocalWebserverAuth() # Creates local webserver and auto handles authentication

运行此代码,您将看到一个 Web 浏览器要求您进行身份验证。单击接受,您就完成了身份验证。有关更多详细信息,请查看文档:OAuth made easy

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    • 2019-10-24
    • 2022-01-12
    • 1970-01-01
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多