Volond Apps
221 subscribers
216 photos
28 videos
22 files
994 links
Программирование для души и от лени
Добро пожаловать! У нас есть отличное сообщество любителей Excel и VBA, Google Sheet и Google Apps Script, а также всех тех, кто готов работать с этим программным обеспечением. Присоединяйтесь к нам, чтобы задавать и от
Download Telegram
image_2021-09-08_10-14-09.png
21.8 KB
Меня постигла печаль...
Что ж будем бороться...
Forwarded from Volond Apps (volond)
/*
Использование функций генератора JavaScript для диапазонов
Создание генератора диапазонов,подобного диапазонам Python или Ruby
*/
const range = (end, start = 0, step = 1) => {
function* generateRange() {
let x = start - step;
while(x < end - step) yield x += step;
}
return {
[Symbol.iterator]: generateRange
};
}

console.log([...range(7)]); // [0, 1, 2, 3, 4, 5, 6]
for (let i of range(8, 2, 2)) console.log(i); // Logs: 2, 4, 6
#JS #function #array
Forwarded from Artem
Forwarded from Google Таблицы
Небольшая статья про api, cookie, авторизацию на минималках

Когда вы вводите свой логин и пароль на сайте через браузер – вы получаете cookie, cookie помогают при перезагрузке страницы или при входе через некоторое время не авторизовываться заново, а использовать уже созданную сессию.

В материале от Романа Игнатова простой пример того, как на сайте без API через GAS-скрипты можно получить cookie и дальше использовать их открывая страницы, которые доступны только после авторизации пользователям.

Кажется, что это первый материал на эту тему на русском 🔥
ignatov-script.blogspot.com/2021/09/api.html

P. S. "Авторизовываться", с помощью логина и пароля в этом примере не требуется, но если для вашего сайта это необходимо – формируйте post-запрос на страницу авторизации, в payload передавайте логин и пароль и забирайте cookie уже из headers этого запроса
Вопрос
Добрый день. В ячейке стоит следующая формула =23+45+76+87+98. Как в другой ячейке вывести количество чисел? 5. Пробовал LEN. Работает только с текстами, к сожалению. =1+LEN(C15)-LEN(SUBSTITUTE(C15;"+";"")) - не работает
Ответ
=COUNTA(split(FORMULATEXT(B49);"+-*/";1;true))
Forwarded from DidacticСardsBot
Авторизация в Google Apps Script

Источник:



В 99% случаев авторизация в скрипте Google Apps чрезвычайно проста. Когда пользователь выполняет свой сценарий, он запускает его как себя с соответствующими областями авторизации. Исключения составляют:


Устанавливаемые триггеры, запускаемые от имени их автора
Веб-приложения, которые также могут запускаться от имени их автора в зависимости от настроек развертывания.
Однако что, если вам нужно предоставить своему приложению больше прав, чем те, которые будут иметь ваши предполагаемые пользователи?
••••••••••
Обсудить:
Forwarded from Michael Smirnov
QUERY с группировкой:
=QUERY({'Лист1'!A2:G}; "SELECT Col3, Col4, Col5, SUM(Col6), Col7 WHERE Col1 IS NOT NULL GROUP BY Col3, Col4, Col5, Col7 LABEL SUM(Col6) ''"; 1)

https://developers.google.com/chart/interactive/docs/querylanguage
48 полноценных бесплатных книг для программистов (happy developer's day)
Источник
Привет, Хабр! Немного запоздало (ко дню программиста) делюсь подборкой бесплатных книг по программированию (ну и в целом ресурсом с ними). Все они полезные, уровень скорее профессиональный, хотя и для развития от базового тоже подойдет, но, к сожалению, на английском. Среди тем книг:
.NET
Алгоритмы
Android
iOS
Angular
C
C++
C#
JS
Linux
Python
Forwarded from Максим Стоянов
Коллеги всем привет!

Давно меня беспокоило отсутствие URL и URLSearchParams
Как-то давно я делал себе на быструю руку парсер url.

Теперь же решил сделать нормальную либу.
Прошу посетить не равнодушным 🙂

Id
1QCIhfEvmPkdVnri2LurMTLDAxvU4p2xAlZvmBcTKeDgfNJtnXyXezlsq

Код:
https://script.google.com/home/projects/1QCIhfEvmPkdVnri2LurMTLDAxvU4p2xAlZvmBcTKeDgfNJtnXyXezlsq/edit

Мои тесты:
https://script.google.com/home/projects/1Q7qUFJrWAjsCKaxd1YP9xqtx-q_fAPWyMcO0BuqkenSV7ILug7tnuvxr/edit
Forwarded from DidacticСardsBot
Введение в GraphQL: что это за язык и как использовать его под Android

Источник:



клиенту при работе с GraphQL API совершенно не важно, откуда поступают данные, которые он запрашивает. Он просто делает запрос в нужном ему объеме, а сервер GraphQL возвращает результат. Поэтому можно представить, что схема — это контракт между API и клиентом, так как, прежде чем клиент выполнит какой-либо запрос, этот запрос валидируется в соответствии со схемой данного API.

••••••••••
Обсудить:
Forwarded from volond
/**
* Случайная Цитата от forismatic
*
*/
const getQuota=()=>{
var url="http://api.forismatic.com/api/1.0/?method=getQuote&key=457653&format=json&lang=ru"
var response=UrlFetchApp.fetch(url)
let {quoteText,quoteAuthor}=JSON.parse(response.getContentText())
let quota=` ═════════════════════
<code>${quoteText}</code>
═════════════════════
<b>автор:</b><i>${quoteAuthor}</i>
`
console.log(quota)
return quota
}
image_2021-09-30_15-51-00.png
11.3 KB
666 Было уже