Начнем с того, что я не программист,
но сильно нужно сделать парсер цен на кейсы в гугл таблице.
Переискав и перепробовав все возможные варианты понял, что нужно делать через Apps Scrip.
Вот пример кейса, цену продажи которого нужно занести в гугл таблицу:
https://steamcommunity.com/market/listings/730/Fra...
Вот собрав по кусочкам с интернета получился такой код, он как бы работает, но очень часто вылазила ошибка:
Exception: Request failed for https://steamcommunity.com returned code 429. Truncated server response: null (use muteHttpExceptions option to examine full response) (строка 18).
Её я смог исправить просто заглушив ее при помощи "options". Но тогда вылазит друга ошибка:
TypeError: Cannot read properties of null (reading 'highest_buy_order') (строка 21).
Подскажите знающие люди как решить данную проблему.(саму ошибку либо предложите другие варианты решения моей главной задачи(парсинга цены кейса в гугл таблицу))
/**
* Returns highest buy order.
*
* @param {string} urls - Input url(s)
* @return {number} the price.
* @customfunction
*/
function STREAMCOMMUNITYPACKAGE(urls) {
if (!Array.isArray(urls)) {
urls = [urls];
}
return urls.flat().map(url => {
const html = UrlFetchApp.fetch(url, {'muteHttpExceptions': true}).getContentText();
const id = /Market_LoadOrderSpread\((.*?)\)/gms.exec(html)[1].trim();
options = {muteHttpExceptions: true};
var data= JSON.parse(UrlFetchApp.fetch(
`https://steamcommunity.com/market/itemordershistogram?country=RU&language=russian¤cy=5&item_nameid=${id}&two_factor=0`, options).getContentText());
return data.highest_buy_order /100;
});
}