通过任务计划程序的Google Drive API无效机密文件

时间:2019-07-06 13:00:12

标签: python google-drive-api pydrive

我需要一些有助于排除故障的帮助,这些问题应该很容易弄清楚。我的计算机上该文件夹中包含以下文件: C:\ Users \ theda \ Documents \ Python \ CANSLIM脚本

  • run_script.bat
  • client_secrets.json
  • credentials.json
  • settings.yaml

这些相同的文件(.bat文件除外)以及我的Python代码位于此文件夹中: C:\ Users \ theda \ PycharmProjects \ CANSLIM_Script

.bat文件代码:

cmd /k python C:\Users\theda\PycharmProjects\CANSLIM_Script\canslim_script.py

当我通过双击run_script.bat运行脚本时,它可以找到我的client_secrets.json文件并通过Google云端硬盘对我进行身份验证。但是,当我通过Windows Task Scheduler运行相同的.bat文件时,得到了以下回溯:

Traceback (most recent call last):
File "C:\Program Files\Python37\lib\site-packages\oauth2client\clientsecrets.py", line 121, in _loadfile 
with open(filename, 'r') as fp:
FileNotFoundError: [Errno 2] No such file or directory: 'client_secrets.json'

我需要在哪里放置凭据/设置/等。通过Windows Task Scheduler运行带有.bat文件的Python脚本时 PyDrive 的问题?或者,如何确定它在哪里寻找文件?

1 个答案:

答案 0 :(得分:1)

我可以通过使用以下代码行为我的身份验证和设置文件提供位置来使其工作。希望它可以帮助某人:

secrets_file = os.path.normpath("C:/Users/theda/Documents/Python/CANSLIM Script/client_secrets.json")
settings_file = os.path.normpath("C:/Users/theda/Documents/Python/CANSLIM Script/settings.yaml")

gauth = GoogleAuth(settings_file=settings_file)

GoogleAuth.DEFAULT_SETTINGS['client_config_file'] = secrets_file