google-apps-script - Google Script - 无法将超过 100 个元素放入数组
问题描述
我目前对 Google Script 有疑问。我尝试从我们的票务系统发出一个 HTTP GET 请求,该系统会提供所有打开的票务。
这实际上没有任何问题,但问题是,我从来没有得到超过 100 个元素的响应(即使有大约 150 个打开的票证),所以数组不能包含超过 100 个元素。这有什么原因吗?有人知道解决方案吗?
代码片段:
function setOpenTickets() {
const subdomain = getSubdomain();
const username = getUsername();
const token = getToken();
const searchUrlOpen = "https://" + subdomain + ".zendesk.com/api/v2/search.json?" +
"query=type:ticket status:open order_by:created sort:asc";
const authToken = username + "/token:" + token;
const encodedAuthToken = Utilities.base64Encode(authToken);
const options = {
"method" : "get",
"headers" : {
"Content-type":"application/xml",
"Authorization": "Basic " + encodedAuthToken
}
};
const jsonResponseOpen = fetchJson(searchUrlOpen, options);
const openTickets = jsonResponseOpen.results.length;
Logger.log("Open Tickets: " + openTickets);
getConfigurationSheet().getRange("B16").setValue(openTickets);
}
解决方案
Zendesk API 文档说:搜索 API 返回 2,000 个页面的限制100 results per page
请通过所有页面查询以获取所有数据。
像这样:(如果返回 422 或空页,请检查响应状态并中断循环)
var page = 1;
response = fetchJson(searchUrlOpen+"&page="+page++, options);
while (response.status_code != 422) {
processResponse(response);
response = fetchJson(searchUrlOpen+"&page="+page++, options);
}
参考:https ://developer.zendesk.com/rest_api/docs/core/search#results-limit
推荐阅读
- java - 在java算法中需要帮助以找到最大值和最小值
- latex - 乳胶双引号不触发变音符号
- python - 正确格式化字符串
- android - 如何在我的文本视图项中输出 Firebase 数据?
- php - AJAX + PHP + 下载 mPDF 生成文件
- node.js - 如何在 NodeJs/Express-Structure 中实现接口
- java - oracle 数据库中的 NUMBER(10,2)
- python - ValueError:Input contains NaN, infinity or a value too large for dtype('float64') 即使 isnan 和 isinf 为假且 dtype=float64
- mxnet - 胶子模型形状不一致
- firebase - Gcp 应用引擎 flex 端点 openapi CORS