我正在尝试实施数据验证,其中规则是使用Google表格API的范围之一。
在sheet1中,我有一个主列表,其中一列需要在其中一个值中。可能的下拉值位于名为下拉列表的单独表格中。
one_of_range的条件值中的错误是什么?
dropdown_action = {
'setDataValidation':{
'range':{
'startRowIndex':1,
'startColumnIndex':4,
'endColumnIndex':5
},
'rule':{
'condition':{
'type':'ONE_OF_RANGE',
'values': [
{ "userEnteredValue" : "dropdown!A1:B2"
}
],
},
'inputMessage' : 'Choose one from dropdown',
'strict':True,
'showCustomUi': True
}
}
}
request = [dropdown_action]
batchUpdateRequest = {'requests': request}
SHEETS.spreadsheets().batchUpdate(spreadsheetId = id,
body = batchUpdateRequest).execute()
然而,我遇到了http错误。如果我选择list中的一个而不是one_of_range,我能够使它工作。但我更喜欢使用one_of_range,以便我可以在同一个电子表格中维护可能的值。
请求https://sheets.googleapis.com/v4/spreadsheets/id:batchUpdate?alt=json时的HttpError 400返回“无效请求[1] .setDataValidation:无效的ConditionValue.userEnteredValue:下拉列表!A1:B2”>
答案 0 :(得分:3)
正如Sam Berlin所建议的,解决方案是在范围内添加'='。
“=下拉!A1:B2”将与one_in_range数据验证规则一起使用。
答案 1 :(得分:0)
没有什么对我有用,然后我看到了这个主题 Google Spreadsheet API setDataValidation with Regex,其中ZektorH标记为“您的表情需要转义”。