Python 3.x 共享脚本使用的google drive API凭据的最佳实践?
简而言之:我是否应该在源代码中共享oauth2凭据,从专用的单一用途google帐户完全访问google驱动器 因此,我编写了一个python脚本,它将一些数据保存到一个预先存在的google sheets文件中,或者将一个新的google sheets文件创建到一个给定的google驱动器文件夹中(这两个文件夹都可以公开编辑,以便在团队之间共享) 为此,我遵循了由和其他来源概述的步骤和教程,之后我获得了使用google drive和google sheets API验证脚本所需的oauth2凭据 这些凭证来自我为这个脚本创建的一个单一用途的google帐户 现在,我想与其他团队成员分享此脚本,但我不确定如何处理有关凭据的问题;要么: A.) 我会合并建议的谷歌工作流程,让 脚本的用户对自己进行身份验证,即用户启动脚本 脚本,然后被定向到google身份验证weblogin, 验证脚本,然后脚本将保存并使用这些 用于将数据写入公用google表单的用户凭据 文件(不一定是用户拥有的私有文件) 这样做的缺点是:Python 3.x 共享脚本使用的google drive API凭据的最佳实践?,python-3.x,oauth-2.0,google-api,google-oauth,google-drive-shared-drive,Python 3.x,Oauth 2.0,Google Api,Google Oauth,Google Drive Shared Drive,简而言之:我是否应该在源代码中共享oauth2凭据,从专用的单一用途google帐户完全访问google驱动器 因此,我编写了一个python脚本,它将一些数据保存到一个预先存在的google sheets文件中,或者将一个新的google sheets文件创建到一个给定的google驱动器文件夹中(这两个文件夹都可以公开编辑,以便在团队之间共享) 为此,我遵循了由和其他来源概述的步骤和教程,之后我获得了使用google drive和google sheets API验证脚本所需的oauth2凭
- 用户将信任我的脚本,并提供可以启用它的凭据 读取/写入用户驱动器帐户的所有数据。而我呢 当然,这并不意味着有什么坏处,但要求似乎还是太多了 负责
- 它打破了我脚本的预期直接工作流程
- 从技术上讲根本没有必要,因为脚本 写入公共工作表文件/驱动器文件夹;那么,为什么需要这样做呢 对所有用户驱动器文件的写访问权限
您有什么建议?我们决定选择A:用户需要自己创建client_secret.json和credentials.json文件。不幸的是,这不是最直截了当的,而是最安全的。无论细节如何,在公共回购协议中共享凭证都是一个巨大的障碍 此外,为了完整性:另一种选择是让我们的应用程序在服务器上运行,我们可以在服务器上保存客户端的机密,这样用户只需看到一个浏览器弹出窗口,他/她就可以授权我们的服务 但是我们也不遵循这个选项,因为脚本应该只包含核心逻辑,它应该是其他脚本开发的基础 这就是我们做出决定的动机