Предупреждающее сообщение о том, что папка «.credentials» не может быть найдена, и Safari не будет загружать «localhost» - PullRequest
0 голосов
/ 29 декабря 2018

Я пытаюсь использовать Google Drive API (на Python) для моего проекта.Я настроил API и использую Python Quickstart API Code (без изменений).

Когда я пытаюсь запустить код, я получаю предупреждение в консоли Python:

Предупреждение пользователя: Нет доступа к /Users/everyone/.credentials/drive-python-quickstart.json: Нет такого файла или каталога

У меня было чувство, что это потому, что в OSX (и, возможно, в других операционных системах) имя папки, начинающееся с точки, будет скрывать его для обычного пользователя, поэтому Python не сможет получить к нему доступ.

В скрипте (строка 35 на ссылке GitHub: os.makedirs(credential_dir) и credential_dir - строка 33 - credential_dir = os.path.join(home_dir, '.credentials')) я изменил .credentials на credentials, чтобы он не был скрытой папкой.

Он все еще дал мне сообщение о том, что папка не найдена.Как я могу получить его, чтобы найти папку?

Это первая проблема, и поскольку это всего лишь предупреждение, он продолжает сценарий.

Следующая проблема заключается в том, что после открытия браузераи вы входите в систему, он должен перенаправить вас на страницу «localhost», чтобы вернуть файлы на вашем диске или что-то в этом роде (на самом деле я не знаю, поскольку я не захожу так далеко!), что он делает, но я получаю:

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 возвращать файлы на моем диске.

Есть ли какое-то исправление?

Заранее спасибо, Dream.

1 Ответ

0 голосов
/ 30 декабря 2018

Работает.

Чтобы удалить предупреждение, я просто создал файл JSON с этим именем, используя TextEdit, и переместил его в папку .credentials.

Для разрешенияlocalhost ошибка в Safari (и других браузерах - Chrome не работал):

Используя Shift + Command + G на рабочем столе, перейдите к /ect/hosts/.Откройте Терминал и введите sudo nano /etc/hosts.Используя клавиши со стрелками, чтобы перейти к строке, удалите ::1 localhost.Нажмите Control + O.Хит Enter.Затем нажмите Control + X для выхода.Откройте файл hosts, чтобы проверить, что строка была удалена.Если при повторном запуске сценария, после входа в систему и предоставления ему разрешений, вы больше не увидите ошибку Can't connect.

Это хороший сайт о том, как это сделать: Как редактировать '/ ect / hosts /' - Mac

Как я дошел до исправления (сообщение Снарка): Unbale, чтобы добраться до 'localhost'

Мечта

...