Python google sheets api过滤器功能不工作?
我正在尝试使用以下示例使过滤器适用于Google sheets API4: 他们的示例工作表链接无效,因此我在此处创建了自己的链接:。它是共享的 当我在网站上运行他们提供的代码时,工作表完全不起任何作用。这是我的密码。我只添加了前3行Python google sheets api过滤器功能不工作?,python,filter,google-sheets-api,Python,Filter,Google Sheets Api,我正在尝试使用以下示例使过滤器适用于Google sheets API4: 他们的示例工作表链接无效,因此我在此处创建了自己的链接:。它是共享的 当我在网站上运行他们提供的代码时,工作表完全不起任何作用。这是我的密码。我只添加了前3行 import custom spreadsheet_id = '1kT4UU-jvFj273psdJ_fQz5xUP1Xv3Mg9zrs9U2ydM0g' g = custom.APIv4() # builds service my_range = {
import custom
spreadsheet_id = '1kT4UU-jvFj273psdJ_fQz5xUP1Xv3Mg9zrs9U2ydM0g'
g = custom.APIv4() # builds service
my_range = {
'sheetId': 0,
'startRowIndex': 0,
'startColumnIndex': 0,
}
addFilterViewRequest = {
'addFilterView': {
'filter': {
'title': 'Sample Filter',
'range': my_range,
'sortSpecs': [{
'dimensionIndex': 3,
'sortOrder': 'DESCENDING'
}],
'criteria': {
0: {
'hiddenValues': ['Panel']
},
6: {
'condition': {
'type': 'DATE_BEFORE',
'values': {
'userEnteredValue': '4/30/2016'
}
}
}
}
}
}
}
body = {'requests': [addFilterViewRequest]}
addFilterViewResponse = g.service.spreadsheets().batchUpdate(spreadsheetId=spreadsheet_id, body=body).execute()
duplicateFilterViewRequest = {
'duplicateFilterView': {
'filterId':
addFilterViewResponse['replies'][0]['addFilterView']['filter']
['filterViewId']
}
}
body = {'requests': [duplicateFilterViewRequest]}
duplicateFilterViewResponse = g.service.spreadsheets() \
.batchUpdate(spreadsheetId=spreadsheet_id, body=body).execute()
updateFilterViewRequest = {
'updateFilterView': {
'filter': {
'filterViewId': duplicateFilterViewResponse['replies'][0]
['duplicateFilterView']['filter']['filterViewId'],
'title': 'Updated Filter',
'criteria': {
0: {},
3: {
'condition': {
'type': 'NUMBER_GREATER',
'values': {
'userEnteredValue': '5'
}
}
}
}
},
'fields': {
'paths': ['criteria', 'title']
}
}
}
body = {'requests': [updateFilterViewRequest]}
updateFilterViewResponse = g.service.spreadsheets() \
.batchUpdate(spreadsheetId=spreadsheet_id, body=body).execute()
在该示例中,有3个请求: 首先,addFilterViewRequest将addFilterViewResponse作为响应 第二个是第一个的副本: duplicateFilterViewRequest与响应duplicateFilterViewResponse 第三个是带有响应updateFilterViewResponse的updateFilterViewRequest 该示例当然不会返回任何内容,但它确实创建了过滤器,如果您打开电子表格并在“数据->过滤器视图”菜单中找到它们,您会发现它们按您指定的名称列出 但您也可以将以下内容添加到正在使用的代码中: 返回addFilterViewResponse 因此,这将为您打印第一个过滤器的完整响应 返回addFilterViewResponse['replies'][0]['addFilterView']['filter']['FilterWebId'] 这将为您首先创建的过滤器提供FilterWebID,如果您希望看到它的运行,可以执行以下操作: 在哪里 您的\u电子表格\u ID 您的GID可以是0,也可以是您在链接中找到的电子表格的GID。 FilterWebID是你刚得到的号码 我希望这能澄清您的疑问。我明白了,我觉得我有点混淆了过滤器和过滤器视图。。。我希望它应用一个过滤器。数据->过滤器视图你会发现它们按你给它们的名称列出,以及如何使用API应用它?