PyDrive client_secrets来自其他目录

use*_*710 1 python pyinstaller pydrive

我正在使用PyDrive从我正在使用Pyinstaller打包的桌面Python应用程序将文件上传到GoogleDrive.我想尽可能地隐藏client_secrets.json,所以我使用这个解决方案它嵌入到Pyinstaller .exe文件中:使用PyInstaller 2.1和MEIPASS错误捆绑数据文件--onefile

然而,PyDrive没有从Pyinstaller放置数据文件的临时目录中找到client_secrets文件.

如何让PyDrive从另一个目录中读取json文件,尤其是AppData?我在考虑将文件从临时目录移动到工作目录,然后再进行身份验证和删除,但是有些用户没有管理员权限,无法修改程序文件(应用程序的安装位置)

我看到我可以使用我可以引用另一个目录的settings.yaml文件,但是pyinstaller似乎使用sys._MEIPASS变量将嵌入式client_secrets.json放在temp文件夹中,所以我不知道它会在哪里.

我必须直接将这个有价值的内容传递给GoogleAuth(),有没有办法做到这一点?

小智 5

更简单的解决方案:

from pydrive.auth import GoogleAuth
GoogleAuth.DEFAULT_SETTINGS['client_config_file'] = path_to_secrets_file
Run Code Online (Sandbox Code Playgroud)