我有一个包含大量数据和元数据的电子表格,正在尝试通过gspread
在python 3.7中访问它。我设法使用batch_update
方法将元数据添加到工作表中,该方法在API中调用了batchUpdate。但是,我找不到执行metadata search的方法,因为dataFilter
类型不是batchUpdate
的有效输入,也找不到search
调用的实现。
payload = {
"requests": [\
{\
"createDeveloperMetadata": {
"developerMetadata": {
"metadataKey": "Hello",
"metadataValue": " World",
"location": {
"spreadsheet": True
},
"visibility": "DOCUMENT"
}
}
}
]
}
spreadsheet.batch_update(payload)
关于如何检索添加的元数据的任何建议?
如果我的理解是正确的,那么这个答案怎么样?请认为这只是几个可能的答案之一。
[遗憾的是,在当前阶段,无法使用gspread直接检索开发人员元数据,而可以使用batch_update
方法放置开发人员元数据。 (我认为在将来的更新中可能会解决此问题。)因此,作为当前解决方法,我想建议使用gspread凭据来使用google-api-python-client。
from apiclient import discovery
service = discovery.build('sheets', 'v4', credentials=credentials)
spreadsheetId = '###' # Please set the Spreadsheet ID.
body = {'dataFilters': [{'developerMetadataLookup': {'metadataKey': 'Hello'}}]}
request = service.spreadsheets().developerMetadata().search(
spreadsheetId=spreadsheetId, body=body)
response = request.execute()
print(response)
credentials
的client = gspread.authorize(credentials)
用于service = discovery.build('sheets', 'v4', credentials=credentials)
。metadataKey
的Hello
,并返回结果。如果这不是您想要的方向,我很抱歉。