1
我試圖在規則是使用Google Sheets API的範圍之一實現數據驗證。Google Sheets 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錯誤。如果我選擇列表中的一個,而不是one_of_range,我可以使其工作。但我更喜歡使用one_of_range,以便我可以在同一電子表格中保留可能的值。
HttpError 400請求https://sheets.googleapis.com/v4/spreadsheets/id:batchUpdate?alt=json時返回 「無效的請求[1] .setDataValidation:無效ConditionValue.userEnteredValue:下拉A1:B2」>
[錯誤](https://developers.google.com/drive/v3/web/handle-errors#400_bad_request)意味着未提供必填字段或參數。確保提供的值有效,或提供的字段組合有效。這也可能是因爲[請求格式錯誤](http://stackoverflow.com/questions/19671317/400-bad-request-http-error-code-meaning)。換句話說,客戶端發送到服務器的數據流並不遵循規則。選中此鏈接(http://stackoverflow.com/questions/37893515/google-spreadsheet-api-400-error-bad-request-unable-to-parse-range)。 – abielita
是的,我認爲錯誤來自規則條件類型和值的組合。我將代碼更改爲'type':'ONE_OF_LIST', 'values':[ {「userEnteredValue」:「A1:B2」 } ]。它的工作原理。但我仍然想知道one_of_range的正確組合是什麼類型。 –
如果您在表格名稱前加'=',例如'「= dropdown!A1:B2」',它會起作用嗎? –