Я новичок в 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 , и поэтому возникает эта ошибка. Не уверен, что не хватает. Может кто-нибудь подскажите, пожалуйста, как решить эту проблему.