我正在为我的项目试用Google Drive API(使用Python)。 我已经设置了一个API,并且正在使用Python Quickstart API Code(一点都不修改)。
当我尝试运行代码时,我在Python控制台中收到一条警告消息,提示
用户警告:无法访问
/Users/everyone/.credentials/drive-python-quickstart.json
:没有此类文件或目录
我有一种感觉,这是因为在OSX(可能还有其他操作系统)上,以点开头的文件夹名称会将其隐藏给普通用户,因此使其成为Python无法访问它。
在脚本中(GitHub链接的第35行:os.makedirs(credential_dir)
和credential_dir
-第33行-credential_dir = os.path.join(home_dir, '.credentials')
),我将.credentials
更改为credentials
不是隐藏的文件夹。
它仍然给我一条消息,指出找不到该文件夹。如何找到该文件夹?
这是第一个问题,由于它只是一个警告,它将继续执行脚本。
下一个问题是,打开浏览器并登录后,它应将您重定向到“本地主机”页面以返回云端硬盘中的文件或其他内容(我实际上不知道,因为我没有得到到目前为止!),但我得到了:
Safari无法打开此页面。 Safari无法打开-
http://localhost:8080/?code=4/wgDGzg5zJbYa0sWhve5zQK7Z0inog_QuD036wrfW0qXa_AByllGYWvBaw-INdEHp6Jj33heYxIrblto6kByA9WU&scope=https://www.googleapis.com/auth/drive.metadata.readonly - becuase the server unexepectedly dropped the connection. ...
这很烦人,因为它不允许API返回驱动器中的文件。
对此有解决方法吗?
预先感谢, 梦想。
答案 0 :(得分:0)
使其正常工作。
要删除警告消息,我只是使用TextEdit简单地创建了一个具有该名称的JSON文件,并将其移至.credentials
文件夹中。
要解决Safari(和其他浏览器-Chrome无法正常运行)上的localhost
错误:
在桌面上使用
Shift + Command + G
,导航到/ect/hosts/
。 打开终端,然后输入sudo nano /etc/hosts
。 使用箭头键转到该行,删除::1 localhost
。 按Control + O
。 点击Enter
。 然后按Control + X
退出。 打开hosts
文件,检查是否已删除该行。 如果有,则在重新运行脚本时登录并赋予其权限后,您应该不再看到Can't connect
错误。
这是一个很好的网站制作方法:How to edit '/ect/hosts/' - Mac
我如何解决(Snark的帖子):Unbale to reach 'localhost'
梦