
Extension Pack для Google Apps Script для vscode https://marketplace.visualstudio.com/items?itemName=labnol.google-apps-scriptПользуетесь хотя бы половиной расширений?
@gasru
Google Apps Script для бизнеса от экспертов-практиковПубликуем скрипты, кейсы и решения для реальной автоматизации. Канал поддерживается нашим профессиональным Клубом @gasru_chat (вход по рекомендации)Разработка и партнерство: @Boorawchick, @oshliaer

Extension Pack для Google Apps Script для vscode https://marketplace.visualstudio.com/items?itemName=labnol.google-apps-scriptПользуетесь хотя бы половиной расширений?

При работе с UrlFetchApp в Google Apps Script разработчики сталкиваются с фундаментальной проблемой: исходящие запросы отправляются с динамических IP-адресов. Это становится непреодолимым препятствием, когда внешний API требует, чтобы запросы приходили только с заранее известных IP-адресов, добавленных в “белый список”.Решением является создание прокси-сервера в Yandex.Cloud. Это руководство предлагает два проверенных сценария, а также лучшие практики для безопасного и надежного развертывания.Сценарий А: Простой и быстрый доступ. Идеален, когда целевой сервис доверяет всему диапазону IP-адресов Yandex.Cloud.Сценарий Б: Доступ по статическому IP-адресу. Незаменимый вариант, когда целевой сервис требует один неизменяемый IP в своем списке разрешенных.oshliaer.github.io/oshliaer/docs/notes/apps-script/как_настроить_прокси_для_google_apps_script.html
Кнопки, которые вы скорее всего никогда не нажималиВступайте в Клуб Google Apps Script по ссылке https://t.me/+C656ROsaJr44Yjdi (требуется приглашение)
🔥 Не просто таблицы: превращаем выгрузки из вашей CRM в умные веб-приложенияКоллеги, знакомая картина? Выгружаете данные из корпоративной CRM или ERP системы в Google Таблицу… и получаете "мертвый" файл. Просто снимок данных на текущий момент. Чтобы из него получить нужную аналитику, менеджеры и бухгалтеры часами вручную считают, фильтруют и строят сводные таблицы. Цена ошибки - упущенная выгода или штрафы.А теперь смотрите, как должно быть. Вот реальный кейс:✅ Взяли: Обычную выгрузку данных о работе агентов из CRM клиента в одну Google Таблицу✅ Добавили: Немного инженерной магии на Google Apps Script✅ Получили: Полноценное веб-приложение. Оно само предоставляет данные для потребителей, которые уже сами себе как хотят рассчитывают сложную логику своих бизнес-процессов и выводят результыт на свои дашборды или отправляют дальше по своим пайплайнам. "Мертвый" отчет превратился в живой, интерактивный инструментПочему это в десятки раз дешевле и быстрее, чем "настоящая" разработка?Потому что вся тяжелая и дорогая инфраструктура - серверы, базы данных, система авторизации - уже оплачена вами в подписке Google Workspace или даже просто бесплатно в персональном аккаунте. Мы не строим завод. Мы устанавливаем умный станок в уже построенном вами и инженерами Google цеху.🔥 Хватит воспринимать Google Таблицы как кладбище для данных из других систем. Давайте превратим их в мозг вашего отдела, который будет работать на вас 24/7!Подробнее о решении в статьеhttps://contributor.pw/project/project-resident-status-automation/➡️ Мы поможем найти скрытый потенциал в ваших рутинных отчетах. Узнайте, как превратить выгрузки в работающие инструменты, которые экономят время и деньги. Контакты в профиле: @oshliaer, @GoogleSheets_ru_cm#ROI #NoCode #Автоматизация #GoogleWorkspace #CRM #Аналитика

TODO list- the mission ✅complete

🔐 Ваш Google Drive -- проходной двор? Ставим замок на "Расшаривание" с помощью Apps ScriptСообщество, привет!Наверняка всем знакома ситуация: вы даете коллеге доступ на редактирование прайс-листа или базы контактов, а через неделю этот файл "уплывает" налево и направо, потому что кто-то по доброте душевной поделился им еще с десятком человек. Контроль над важными документами теряется моментально.Причина -- та самая галочка "Разрешить редакторам изменять разрешения и делиться файлами".Хорошая новость: эту "дыру" в безопасности можно закрыть кодом!С помощью Google Apps Script вы можете программно, от имени владельца файла, запретить всем редакторам делиться им дальше.Всего пара строк кода:const fileMetadata = { writersCanShare: false, // <-- Та самая "магия"};Drive.Files.update(fileMetadata, fileId);Таким образом, вы также можете массово обновить права для сотен файлов, гарантируя, что конфиденциальная информация останется под вашим контролем. Это особенно важно для HR-документов, финансовых отчетов и клиентских баз.➡️ Наш практический пример, как это работает в Таблице чата, можно посмотреть на GitHub: ссылка на PR---Это лишь один из десятков примеров, как Google Apps Script дает вам полный контроль над вашими бизнес-процессами.Хотите не просто копировать готовые решения, а понимать, как они работают, и создавать свои? Для этого у нас есть персональные консультации (поможем с вашей конкретной задачей) и обучение Google Apps Script (передадим системные знания).Обращайтесь к @oshliaer, @GoogleSheets_ru_cm.#GoogleDrive #AppsScript #Безопасность #Автоматизация #GoogleWorkspace

Так, что есть на данный момент:- вебапы начали падать где-то в 7 часов утра по Москве- не смог запустить разные вебапы с разных аккаунтов https://t.me/gasru/529- сейчас пошли потверждения о чужих вебапах, которые не поднимаются и в диалоговых окнах- возможная ошибка в трекере https://issuetracker.google.com/issues/428521312Так-то. Ждем

Колбэки на вебапах упали. Два аккаунта подтверждено. Не важно из какой сети ⚠️
Channel photo updated
Channel name was changed to «Google Apps Script | Канал»

Немного про сортировку листов. В какой-то момент это была довольно больная тема, и каждый раз предлагался вариант сортировки через активирования листа, т.к. в стандартной библиотеке Apps Script нет другого варианта. Большие модели тоже предлагали этот вариант, возможно, все еще предлагают:const ss = SpreadsheetApp.open(workBook);const sh = dss.getSheetByName('Current').activate();ss.moveActiveSheet(0);Но существует более простой и элегантный способ - это запрос на изменение индекса листа через Advanced Services Sheets:const updatePropertiesRequest = Sheets.newUpdateSheetPropertiesRequest();updatePropertiesRequest.fields = 'index';updatePropertiesRequest.properties = { index, sheetId: sheet.properties.sheetId,};const request = Sheets.newRequest();request.updateSheetProperties = updatePropertiesRequest;По ссылке пример использования заранее известной сортировки для любого числа листов в книге.
Вернул Таблицу чата в чат после вредительских атак на Google Таблицы Обновил Мастер-скрипт ☝️ это полностью боевой проект. Подходит для понимания что и как происходит
Чат переехал по адресу https://t.me/gasru_chat. Прежний адрес https://t.me/googleappsscriptrc. Вход только через личное приветствие @oshliaer

Проблема Apps Script - файл в 83Mb

Numbertext запускается одновременно 800 раз 🙈🥶