У меня есть следующий учетный файл учетной записи службы json для проекта Google Cloud Platform:
Как я могу аутентифицироваться в Google Диске 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 Service? Если да, то как это будет сделано?
Вы можете перейти на следующую страницу Python Quickstart for Drive и нажать кнопку "Включить интерфейс диска". Это позволит вам загружать учетные данные, которые имеют формат, за исключением следующих строк:
flow = client.flow_from_clientsecrets('mykey.json', SCOPES)