Добавить выпадающий список в гугл таблицу через API на Python
Пробовал вариант из англоязычной ветки. Но в таблице ничего не появляется, но при этом и ошибок никаких не выводит.
Пробовал использовать следующий код:
body = {
'values': [
[link] + list(topic(link).values())
],
"setDataValidation": {
"range": {
"sheetId": sheet_id,
"startRowIndex": 1,
"endRowIndex": 1,
"startColumnIndex": 22,
"endColumnIndex": 23
},
"rule": {
"condition": {
"type": 'ONE_OF_LIST',
"values": [
{
"userEnteredValue": 'YES',
},
{
"userEnteredValue": 'NO',
},
{
"userEnteredValue": 'MAYBE',
},
],
},
"showCustomUi": True,
"strict": True
}
}
}
Ответы (1 шт):
Автор решения: Vladislav Moshikov
→ Ссылка
сталкивался с подобной проблемой. Источник к сожалению не подскажу, но могу поделиться:
- Твой body дожен содержать корневой элемент
"requests": [] - Внутри этого
requestsуже лежат объекты форматирования и одним из них будет являтьсяsetDataValidation
batch_request = {
"requests": [
{...},
{
"setDataValidation": {
"range": {
"sheetId": sheetId,
"startRowIndex": 1,
"endRowIndex": len(df_values)+1,
"startColumnIndex": 12,
"endColumnIndex": 13
},
"rule": {
"condition": {
"type": 'ONE_OF_LIST',
"values": [
{
"userEnteredValue": 'да',
},
{
"userEnteredValue": 'нет',
}
],
},
"inputMessage": 'Выберите значение из списка: да/нет',
"showCustomUi": True,
"strict": True
}
}
},
{...}
]
Также проверь формат отправки запроса
response = sheets_service.spreadsheets().batchUpdate(spreadsheetId=xxx, body=batch_request).execute()
