Добавил еще ведущие нули к миллисекундам, если кому-то еще когда-то этот код понадобится
log = function (text, color, define){ var id, time, thread, logHtml, textLog; define = (typeof define == 'string') ? define.split(/[\s,.|:;]+/g) : define; if(typeof define === 'object' && define !== null){ if(Array.isArray(define)){ id = define.indexOf('id') > -1; time = define.indexOf('time') > -1; thread = define.indexOf('thread') > -1; } else{ id = define.id == true; time = define.time == true; thread = define.thread == true; } } else id = time = thread = true; id = id ? '<a href="action://action' + ScriptWorker.GetCurrentAction() + '" style="color:gray;">[' + ScriptWorker.GetCurrentAction() + ']</a>' : ''; time = time ? ' ' + getTime() : ''; thread = thread ? ' Поток №' + thread_number() : ''; logHtml = (id || time || thread) ? id + '<span style="color: white">' + time + thread + ' : </span>' : ''; logHtml += '<span style="color:' + (color ? color : 'white') + '">' + text + '</span>'; textLog = '[' + ScriptWorker.GetCurrentAction() + ']' + time + thread + ' : ' + text function getTime(){ var checkTime = function(i){ return (i < 10) ? "0" + i : i; }; var checkMilliSeconds = function(ms){ if (ms < 10) { return "00" + ms; } else if (ms < 100) { return "0" + ms; } else { return ms; } }; var d = new Date(); var hh = checkTime(d.getHours()); var mm = checkTime(d.getMinutes()); var ss = checkTime(d.getSeconds()); var ms = checkMilliSeconds(d.getMilliseconds()); return '[' + hh + ':' + mm + ':' + ss + '.' + ms + ']'; }; Logger.WriteHtml(logHtml, textLog); }Как правильно отправить json в БАС из google sheets?
-
В переменную data сохранил две строчки таблицы: первая строчка названия, вторая - значения. В лог выводится нормально. Но когда делаю гет запрос пишет: "Скрипт был выполнен, но ничего не возвратил". Вроде все правильно делаю, таблицу перевожу в json и отправляю. В чем может быть проблема?
function doGet(e){ if (e.parameter.p1 == "getRow") getPostsListFirstRow(); } function getPostsListFirstRow(){ var spreadSheet = SpreadsheetApp.openById("..."); var sheet = spreadSheet.getSheetByName("..."); var range = sheet.getRange("A1:E2"); var data = range.getValues(); return ContentService.createTextOutput(JSON.stringify(data)).setMimeType(ContentService.MimeType.JSON); } -
@fox said in Как правильно отправить json в БАС?:
Вы зря считаете, что все следят за вашими постами на форуме
В смысле? Кому я тут нужен чтоб следить за мной?
@fox said in Как правильно отправить json в БАС?:
эта функция у вас в скрипте гугл таблиц?
Да.
-
Вы зря считаете, что все следят за вашими постами на форуме
В смысле?
В смысле что тема находится в ветке BrowserAutomationStudio / Поддержка, ни в названии темы, ни в первом посте нет упоминания google sheets.
BAS к google sheets ни каким боком не относится, кроме разве что оба используют
*JavaScript. Но по вашим предыдущим темам я понял о чём идёт речь:D
Вы ведь правильно отправляете запрос? С параметром и значением? ( ?p1=getRow )
https://script.google.com/macros/s/AKfycbwtE7lik4wCqXOLzcp0AoP3N0xuWsSBPsDAsDvQTeyVs1Brc27w/exec?p1=getRowДоступ открыли всем "по ссылке"? В браузере если перейти по ссылке запроса результат тот же?
-
@fox said in Как правильно отправить json в БАС?:
тема находится в ветке BrowserAutomationStudio / Поддержка, ни в названии темы, ни в первом посте нет упоминания google sheets
Ок, добавил google sheets в тему. Вообще не планировал скрываться, да и было бы что скрывать)
@fox said in Как правильно отправить json в БАС?:
Вы ведь правильно отправляете запрос? С параметром и значением? ( ?p1=getRow )
Да, другие функции в этом же скрипте из баса аналогичным образом работают. В браузере результат тот же, но на английском: "The script completed but did not return anything.".
-
Вроде бы победил. В браузере вижу нормальный json при гет запросе:
{"firstRow":[{"url":"http://www.aliexpress.com/item/USLION-Phone-Case-For-iPhone-7-6-6s-Plus-5-5s-SE-Simple-Solid-Color-Ultrathin/32808065488.html","firstImage":1,"secondImage":2,"title":"","name":"Best"}]}А бас все равно принимает какое-то странное значение:
SAVED_CONTENT: "<HTML> <HEAD> <TITLE>Moved Temporarily</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <H1>Moved Temporarily</H1> The document has moved <A HREF="https://script.googleusercontent.com/macros/echo?user_content_key=...&lib=...">here</A>. </BODY> </HTML> "
И поэтому не парсится. Что можно сделать?