Добавить выпадающий список в гугл таблицу через 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

сталкивался с подобной проблемой. Источник к сожалению не подскажу, но могу поделиться:

  1. Твой body дожен содержать корневой элемент "requests": []
  2. Внутри этого 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()

→ Ссылка