我需要获取此表的特定数据行:
谷歌表数据库
,为此我使用以下过滤器参数:
var filter = {
"dataFilters": [
{
"developerMetadataLookup": {
"metadataValue": "julian@domain3.com"
}
}
]
};
但目前的结果如下:
response: {
"spreadsheetId": "1chGysP"
}
我需要的结果如下所示:
response: {
"range": "'Hoja 1'!A4:D4",
"majorDimension": "ROWS",
"values": [
[
"3",
"domain4",
"julian@domain3.com",
"Active"
]
]
}
我发现了一个与我类似的问题,它似乎有效,但我认为我不会像检查配额、报告仪表板等那样直接利用 API。
How can I use the Google Sheets (v4) API getByDataFilter to return a specific row of data?
我的完整代码如下:
//function for bot that runs asynchronously from Google Apps Script
function consultData(){
var url = 'https://sheets.googleapis.com/v4/spreadsheets/1chGysP/values:batchGetByDataFilter?key=KAIzaSy'
var service = getOAuthService();
service.reset()
var filter = {
"dataFilters": [
{
"developerMetadataLookup": {
"metadataValue": "julian@domain3.com"
}
}
]
};
var params = {
headers: {
Authorization: 'Bearer ' + service.getAccessToken()
},
method: 'get',
contentType: 'application/json',
payload: JSON.stringify(filter),
muteHttpExceptions: true
};
var response = UrlFetchApp.fetch(url, params).getContentText();
Logger.log('response: ' + response);
return response;
}
API引用:
https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/getByDataFilter
最佳答案
就我而言,增加信息的最实用和可扩展的解决方案是不将工作表用作数据库,首先因为它对记录有限制https://support.google.com/drive/answer/37603?hl=es
并限制 getDataFilter 所需的元数据,以按值进行条件
https://developers.google.com/sheets/api/guides/metadata
我快速有效的解决方案是将我的信息存储库放在 Firebase 中,使用这个库可以非常轻松地进行连接、查询、覆盖、创建:
https://github.com/grahamearley/FirestoreGoogleAppsScript
关于javascript - 如何使用 getByDataFilter Sheets API v4 获取特定行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62382093/