在 Google 张中通过电子邮件发送产品数量
Sending the number of products via email in Google Sheets
我有一个 google 表格工具,我可以使用 Shopify API 每小时自动获取我们网站上的产品数量。
https://docs.google.com/spreadsheets/d/1m1lF6jLWPIKhJDOut_G-2tX_zYW4fU9dHKwIs03rr1Y/edit?usp=sharing
我需要为此工具开发代码。此代码将在每次搜索产品编号后检查此产品编号,如果此产品编号低于 1000,它应该给我发一封邮件告知产品编号。我该如何改进?
从站点获取产品数量的函数
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();
};
应该取最后一行的 Products Count 数字并在小于 1000 时发送邮件的函数。(它没有工作,尚未完成。 ) https://gyazo.com/e2fd5cdc4043dec00da1fce0e3c6c0ca(6562 是产品数)
function SendEmail() {
// Fetch the monthly sales
var spreadsheet = SpreadsheetApp.getActiveSheet();
// I need your help in here. How can I get the products count in the last row after each run?
// Check totals sales
if (productsCount < 1000){
// Send Alert Email.
var message = 'KolayOto Lastik Ürün Sayısı Uyarısı!'; // Second column
var subject = 'Ürün sayısı uyarısı!';
MailApp.sendEmail("bbelcioglu@sekizgen.com", subject, message);
MailApp.sendEmail("berk.belcioglu@gmail.com", subject, message);
}
}
我希望我能把问题解释清楚。如果你能帮上忙,我会很高兴。
谢谢。
我相信你的目标如下。
- 您想使用 Google Apps 脚本从 URL 检索产品计数。
- 在这种情况下,您想要 return
6562
的值。
- 您想 return 在
_1()
函数中的那个值。
为此,这个答案怎么样?
修改点:
- 当看到来自 URL 的 returned 值时,可以使用
contentObj.products_count
检索产品计数。
修改后的脚本:
你的_1()
脚本修改后,变成如下
从:
spreadsheet.getRange(lastRow+1, startCol).activate();
};
到:
spreadsheet.getRange(lastRow+1, startCol).activate();
return contentObj.products_count; // <--- Added
};
并且,通过上面的修改,SendEmail()
可以修改如下。
function SendEmail() {
var productsCount = _1(); // <--- Added
// Fetch the monthly sales
var spreadsheet = SpreadsheetApp.getActiveSheet();
// I need your help in here. How can I get the products count in the last row after each run?
// Check totals sales
if (productsCount < 1000){
// Send Alert Email.
var message = 'KolayOto Lastik Ürün Sayısı Uyarısı!'; // Second column
var subject = 'Ürün sayısı uyarısı!';
MailApp.sendEmail("bbelcioglu@sekizgen.com", subject, message);
MailApp.sendEmail("berk.belcioglu@gmail.com", subject, message);
}
}
我有一个 google 表格工具,我可以使用 Shopify API 每小时自动获取我们网站上的产品数量。 https://docs.google.com/spreadsheets/d/1m1lF6jLWPIKhJDOut_G-2tX_zYW4fU9dHKwIs03rr1Y/edit?usp=sharing
我需要为此工具开发代码。此代码将在每次搜索产品编号后检查此产品编号,如果此产品编号低于 1000,它应该给我发一封邮件告知产品编号。我该如何改进?
从站点获取产品数量的函数
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();
};
应该取最后一行的 Products Count 数字并在小于 1000 时发送邮件的函数。(它没有工作,尚未完成。 ) https://gyazo.com/e2fd5cdc4043dec00da1fce0e3c6c0ca(6562 是产品数)
function SendEmail() {
// Fetch the monthly sales
var spreadsheet = SpreadsheetApp.getActiveSheet();
// I need your help in here. How can I get the products count in the last row after each run?
// Check totals sales
if (productsCount < 1000){
// Send Alert Email.
var message = 'KolayOto Lastik Ürün Sayısı Uyarısı!'; // Second column
var subject = 'Ürün sayısı uyarısı!';
MailApp.sendEmail("bbelcioglu@sekizgen.com", subject, message);
MailApp.sendEmail("berk.belcioglu@gmail.com", subject, message);
}
}
我希望我能把问题解释清楚。如果你能帮上忙,我会很高兴。
谢谢。
我相信你的目标如下。
- 您想使用 Google Apps 脚本从 URL 检索产品计数。
- 在这种情况下,您想要 return
6562
的值。
- 在这种情况下,您想要 return
- 您想 return 在
_1()
函数中的那个值。
为此,这个答案怎么样?
修改点:
- 当看到来自 URL 的 returned 值时,可以使用
contentObj.products_count
检索产品计数。
修改后的脚本:
你的_1()
脚本修改后,变成如下
spreadsheet.getRange(lastRow+1, startCol).activate();
};
到:
spreadsheet.getRange(lastRow+1, startCol).activate();
return contentObj.products_count; // <--- Added
};
并且,通过上面的修改,SendEmail()
可以修改如下。
function SendEmail() {
var productsCount = _1(); // <--- Added
// Fetch the monthly sales
var spreadsheet = SpreadsheetApp.getActiveSheet();
// I need your help in here. How can I get the products count in the last row after each run?
// Check totals sales
if (productsCount < 1000){
// Send Alert Email.
var message = 'KolayOto Lastik Ürün Sayısı Uyarısı!'; // Second column
var subject = 'Ürün sayısı uyarısı!';
MailApp.sendEmail("bbelcioglu@sekizgen.com", subject, message);
MailApp.sendEmail("berk.belcioglu@gmail.com", subject, message);
}
}