Google Sheets API Python

есть код функции:

def get_cell_range(start, finish):
    """Функция возвращает массив значений заданного диапазона ячеек.
    Значения пустых ячеек в массив не записываются.
    Если соединение с сервером google не установлено возвращает соответствующее
    сообщение"""
    flag = True
    CREDENTIALS_FILE = 'json файл'  
    credentials = ServiceAccountCredentials.from_json_keyfile_name(CREDENTIALS_FILE, ['https://www.googleapis.com/auth/spreadsheets', 'https://www.googleapis.com/auth/drive'])
    httpAuth = credentials.authorize(httplib2.Http())
    try:
        service = apiclient.discovery.build('sheets', 'v4', http = httpAuth) # пробуем авторизоваться в гугл таблицах
    except Exception as e:
        report =' Сервер google временно недоступен. Повторите попытку позже. Чтобы продолжить введите команду /menu'
        flag = False
        return flag, report
    spreadsheetId = 'ID таблицы'

    range_name = '1p!{0}:{1}'
    range_name=range_name.format(start, finish)

    table = service.spreadsheets().values().get(spreadsheetId=spreadsheetId, range=range_name).execute()
    ans_value = table['values']
    res=[]
    for element in ans_value:
        element.append(res[0])
    print(res)
    return flag, res

При её выполнении вылазит ошибка: line 85, in get_cell_range ans_value = table['values'] KeyError: 'values' Не могу понять почему не получается массив значений получить(. Помогите пожалуйста!


Ответы (1 шт):

Автор решения: Александр Куликов

Проблема нашлась. Я оказывается вывод ключа неправильно прописал. Вот верное написание части функции:

...
ans_value = table.get('values',[]) 
print (ans_value) 
res=[] 
for element in ans_value: 
    element.append(res[0]) 
print(res) 
return flag, res
→ Ссылка