Я пытаюсь получить доступ к Google Sheet (режим только для чтения) из Python (работает в GKE).
Я могу получить кредиты по умолчанию для приложения, но у меня возникают проблемы с областями видимости (так как мне не хватает https://www.googleapis.com/auth/spreadsheets.readonly
объем). См. Приведенный ниже код:
from googleapiclient.discovery import build
from oauth2client import client
creds=client.GoogleCredentials.get_application_default()
service = build('sheets', 'v4', credentials=creds)
sheet = service.spreadsheets()
sheet.values().get(spreadsheetId='XXXXXXXXXX', range='Sheet1!A:C').execute()
Вывод:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/dist-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
return wrapped(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/googleapiclient/http.py", line 840, in execute
raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 403 when requesting https://sheets.googleapis.com/v4/spreadsheets/XXXXXX/values/Sheet1%21A%3AC?alt=json returned "Request had insufficient authentication scopes.">
Я пытался прочитать любую доступную документацию, но вся соответствующая область применения связана с использованием внешней учетной записи службы JSON файл .
Есть ли способ использовать Application Default и добавить необходимую область?