Файл "quickstart.py", строка 9, в <module> - PullRequest
0 голосов
/ 08 мая 2018

Я новичок в Python и пытаюсь использовать Google Drive Apis, но столкнулся с этой проблемой.
Ошибка Я получаю после запуска python quickstart.py

Traceback (most recent call last):
  File "quickstart.py", line 9, in <module>
    creds = store.get()
  File "/usr/local/lib/python3.6/site-packages/oauth2client/client.py", line 407, in get
    return self.locked_get()
  File "/usr/local/lib/python3.6/site-packages/oauth2client/file.py", line 54, in locked_get
    credentials = client.Credentials.new_from_json(content)
  File "/usr/local/lib/python3.6/site-packages/oauth2client/client.py", line 302, in new_from_json
    module_name = data['_module']
KeyError: '_module'
  • Я сгенерировал client_secret.json файл в соответствии с руководством Python Quickstart .
  • Все файлы находятся в той же директории, что и quickstart.py .

Вот как выглядит мой quickstart.py файл.

from __future__ import print_function
from apiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools

# Setup the Drive v3 API
SCOPES = 'https://www.googleapis.com/auth/drive.metadata.readonly'
store = file.Storage('credentials.json')
creds = store.get()
if not creds or creds.invalid:
    flow = client.flow_from_clientsecrets('client_secret.json', SCOPES)
    creds = tools.run_flow(flow, store)
service = build('drive', 'v3', http=creds.authorize(Http()))

# Call the Drive v3 API
results = service.files().list(
    pageSize=10, fields="nextPageToken, files(id, name)").execute()
items = results.get('files', [])
if not items:
    print('No files found.')
else:
    print('Files:')
    for item in items:
        print('{0} ({1})'.format(item['name'], item['id']))

UPDATE: Я проверил, и оказалось, что файл credentials.json автоматически генерируется при первом запуске и по какой-то причине этого не происходит.

KeyError: '_module'

Предполагается, что этот ключ _module присутствует в файле credentials.json , и поэтому возникает эта ошибка. Не уверен, что не хватает. Может кто-нибудь подскажите, пожалуйста, как решить эту проблему.

1 Ответ

0 голосов
/ 28 мая 2018

Подобная проблема здесь Попробуйте удалить оба файла из вашего каталога - "credentials.json" и "client_secret.json". Затем заново сгенерируйте свои учетные данные и заново создайте «client_secret.json», это сработало для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...