google-sheets - 在 Google 表格中使用 Shopify API 自动跟踪产品数量
问题描述
我最近开始在 Google 表格上工作和学习,遇到了一些我无法解决的问题。
我想通过 Google 表格和 Shopify API 每小时自动跟踪我们 Shopify 网站上的产品数量。
为此,我使用了以下链接的教程:
教程有效,我可以获得我们产品的数量,但是当我想每小时使用宏自动执行此操作时,宏总是在同一行上工作。
https://gyazo.com/6fe0710c7537d2d75249f28810276d43
我希望宏在第一行工作,向下 2 行,并在 1 小时后从停止的地方以相同的方式工作。
我添加的带有相关引用的宏代码:
function _1() {
var spreadsheet = SpreadsheetApp.getActiveSheet();
spreadsheet.getActiveRange().setFormulaR1C1('=ImportJSON("https://kolayoto.com/collections/lastikleri.json")');
spreadsheet.getCurrentCell().offset(2, 0).activate();
};
还,
当我更新页面时,我获得的 API 结果将替换为接下来几个小时的当前结果。每次自动 API 调用后,有什么方法可以将其转换为常量值?我们也可以在宏中设置吗?
我希望我能充分解释这些问题。如果你能帮忙,我会很高兴。
谢谢。
解决方案
如果我正确理解您的问题,那么您正在寻找的是 function spreadsheet.getLastRow()
。spreadsheet.getLastRow()+1
将返回下一个可用的空行。
此外,尝试使用 UrlFetchApp 获取方法,以便您可以更灵活地处理 json 键和值。尝试运行以下代码服务时间从一张白纸开始,看看这是否是您真正想要的。基本上我所做的是选择 json 数据的键和值并将它们设置为相应的范围。
function _1() {
var spreadsheet = SpreadsheetApp.getActiveSheet();
var startCol = 1
var lastRow = spreadsheet.getLastRow();
var rawtext = UrlFetchApp.fetch("https://kolayoto.com/collections/lastikleri.json").getContentText()
var jsonObj = JSON.parse(rawtext);
var contentObj = jsonObj.collection
var columns = Object.keys(contentObj)
var colName = []
var result = []
for (var i = 0; i < columns.length; i++){
var key = columns[i]
var value = contentObj[key]
result.push(value)
}
var numRow = 1
var numCol = columns.length
if(lastRow+1 == 1){
spreadsheet.getRange(lastRow+1, startCol, numRow, numCol).setValues([columns]);
spreadsheet.getRange(lastRow+2, startCol, numRow, numCol).setValues([result]);
}else {
spreadsheet.getRange(lastRow+1, startCol, numRow, numCol).setValues([result]);
}
spreadsheet.getRange(lastRow+1, startCol).activate();
};
推荐阅读
- swift - 不包括 SwiftPM 库
- matlab - 尝试访问当前 matlab 文件夹的子文件夹中的文件时出错
- android - Android - 根据 ViewModel 中的选定项目更改过滤 LiveData 列表
- android - 如何在 recyclerview 中启用 grideview 的滚动?
- node.js - 猫鼬。等待数据的后处理
- firebase - Flutter - 删除一个 Firebase 文档 onTap()
- java - 对列表中的重复条目进行排序
- javascript - 将此单人游戏转换为多人游戏
- javascript - BOOTSTRAP 4 - 将 Scrollspy 加入到 Scrolltop
- python - 检查一个数字是否是其他两个数字的总和