我有一个通过Gmail api发送电子邮件的python脚本。手动运行脚本时,一切正常。然而,当脚本通过一个cronjob运行,该脚本将失败,并出现以下错误:使用Gmail API时引发错误
/usr/local/lib/python2.7/dist-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access /root/.credentials/sendEmail.json: No such file or directory warnings.warn(_MISSING_FILE_MESSAGE.format(filename))
我在同一文件夹中的python脚本的client_secret.json文件。任何建议将不胜感激。
UPDATE
对此的更新。我将该调用添加到root的crontab中的python文件。这产生了2个新的错误:
Failed to start a local webserver listening on either port 8080
or port 8090. Please check your firewall settings and locally
running programs that may be blocking or using those ports.
Falling back to --noauth_local_webserver and continuing with
authorization.
Go to the following link in your browser:
https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgmail.compose&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&client_id=611764062141-gccaftd5eh9ekk11nv4007uh7t2qlr09.apps.googleusercontent.com&access_type=offline
Enter verification code: Traceback (most recent call last):
File "/home/pi/python_scripts/glasses_scrape/glasses.py", line 174, in <module>
credentials = get_credentials()
File "/home/pi/python_scripts/glasses_scrape/glasses.py", line 165, in get_credentials
credentials = tools.run_flow(flow, store, flags)
File "/usr/local/lib/python2.7/dist-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
return wrapped(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/oauth2client/tools.py", line 240, in run_flow
code = input('Enter verification code: ').strip()
EOFError: EOF when reading a line
这里,有趣的是通过点击批准我的申请使用Gmail的URL,现在会显示一个代码,我问切换到我的应用程序,并在那里输入它。
似乎是一个问题。你有没有试过移动文件或以root身份运行它? – Artyer
只是在相同的目录是不够的。 –
Hi @Artyer - 你的意思是python文件吗? crontab如下:21 20 * * * sudo python /home/pi/python_scripts/glasses_scrape/glasses.py> /home/pi/ipsender.log 2>&1 –