Авторизация Google Drive Python API с использованием служебного ключа учетной записи - PullRequest
0 голосов
/ 29 августа 2018

У меня есть следующий файл учетных данных json учетной записи службы для проекта Google Cloud Platform:

enter image description here

Как мне пройти аутентификацию в Google Drive API, используя эту учетную запись службы? Например, когда я пытаюсь сделать следующее:

from googleapiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools

SCOPES = 'https://www.googleapis.com/auth/drive.metadata.readonly'

flow = client.flow_from_clientsecrets('mykey.json', SCOPES)
creds = tools.run_flow(flow, store)
service = build('drive', 'v3', http=creds.authorize(Http()))

results = service.files().list(pageSize=10, fields="nextPageToken, files(id, name)").execute()
items = results.get('files', [])

Я получаю сообщение об ошибке при запуске команды flow, которая жалуется на то, что формат файла ключа не начинается с web или installed:

Invalid file format. See https://developers.google.com/api-client-library/python/guide/aaa_client_secrets
Expected a JSON object with a single property for a "web" or "installed" application 

Можно ли использовать указанный выше ключ для отображения файлов на диске для моей учетной записи службы Google? Если так, как это будет сделано?

1 Ответ

0 голосов
/ 29 августа 2018

Вы можете перейти на следующую страницу Быстрый запуск Python для накопителя и нажать кнопку «Включить API накопителя». Это позволит вам загружать учетные данные в формате, который исключает следующая строка:

flow = client.flow_from_clientsecrets('mykey.json', SCOPES)
...