Чат переехал по адресу https://t.me/gasru_chat. Прежний адрес https://t.me/googleappsscriptrc. Вход только через личное приветствие @oshliaer
Telegram
Google Apps Script | Клуб
Клуб практиков Google Apps Script.
Минимум шума, максимум дела
Правила доступа
👁 Чтение открыто для всех
✍️ Участие для членов сообщества
➡️ Вход строго по ссылке от участника Клуба
Заказ разработки, рекламы: @oshliaer, @GoogleSheets_ru_cm
t.me/gasru
Минимум шума, максимум дела
Правила доступа
👁 Чтение открыто для всех
✍️ Участие для членов сообщества
➡️ Вход строго по ссылке от участника Клуба
Заказ разработки, рекламы: @oshliaer, @GoogleSheets_ru_cm
t.me/gasru
🔥3❤2👍2
Вернул Таблицу чата в чат после вредительских атак на Google Таблицы
Обновил Мастер-скрипт
☝️ это полностью боевой проект. Подходит для понимания что и как происходит
Обновил Мастер-скрипт
☝️ это полностью боевой проект. Подходит для понимания что и как происходит
Google Docs
Таблица чата t.me/google_sheets_pro #31 [02-06/2025]
🔥6❤2👍2
Немного про сортировку листов. В какой-то момент это была довольно больная тема, и каждый раз предлагался вариант сортировки через активирования листа, т.к. в стандартной библиотеке Apps Script нет другого варианта. Большие модели тоже предлагали этот вариант, возможно, все еще предлагают:
Но существует более простой и элегантный способ - это запрос на изменение индекса листа через Advanced Services Sheets:
По ссылке пример использования заранее известной сортировки для любого числа листов в книге.
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;
По ссылке пример использования заранее известной сортировки для любого числа листов в книге.
👍6❤3🔥3
Так, что есть на данный момент:
- вебапы начали падать где-то в 7 часов утра по Москве
- не смог запустить разные вебапы с разных аккаунтов https://t.me/gasru/529
- сейчас пошли потверждения о чужих вебапах, которые не поднимаются и в диалоговых окнах
- возможная ошибка в трекере https://issuetracker.google.com/issues/428521312
Так-то. Ждем
- вебапы начали падать где-то в 7 часов утра по Москве
- не смог запустить разные вебапы с разных аккаунтов https://t.me/gasru/529
- сейчас пошли потверждения о чужих вебапах, которые не поднимаются и в диалоговых окнах
- возможная ошибка в трекере https://issuetracker.google.com/issues/428521312
Так-то. Ждем
❤3👍3🔥2👎1
🔐 Ваш Google Drive -- проходной двор? Ставим замок на "Расшаривание" с помощью Apps Script
Сообщество, привет!
Наверняка всем знакома ситуация: вы даете коллеге доступ на редактирование прайс-листа или базы контактов, а через неделю этот файл "уплывает" налево и направо, потому что кто-то по доброте душевной поделился им еще с десятком человек. Контроль над важными документами теряется моментально.
Причина -- та самая галочка "Разрешить редакторам изменять разрешения и делиться файлами".
Хорошая новость: эту "дыру" в безопасности можно закрыть кодом!
С помощью Google Apps Script вы можете программно, от имени владельца файла, запретить всем редакторам делиться им дальше.
Всего пара строк кода:
Таким образом, вы также можете массово обновить права для сотен файлов, гарантируя, что конфиденциальная информация останется под вашим контролем. Это особенно важно для HR-документов, финансовых отчетов и клиентских баз.
➡️ Наш практический пример, как это работает в Таблице чата, можно посмотреть на GitHub: ссылка на PR
---
Это лишь один из десятков примеров, как Google Apps Script дает вам полный контроль над вашими бизнес-процессами.
Хотите не просто копировать готовые решения, а понимать, как они работают, и создавать свои? Для этого у нас есть персональные консультации (поможем с вашей конкретной задачей) и обучение Google Apps Script (передадим системные знания).
Обращайтесь к @oshliaer, @GoogleSheets_ru_cm.
#GoogleDrive #AppsScript #Безопасность #Автоматизация #GoogleWorkspace
Сообщество, привет!
Наверняка всем знакома ситуация: вы даете коллеге доступ на редактирование прайс-листа или базы контактов, а через неделю этот файл "уплывает" налево и направо, потому что кто-то по доброте душевной поделился им еще с десятком человек. Контроль над важными документами теряется моментально.
Причина -- та самая галочка "Разрешить редакторам изменять разрешения и делиться файлами".
Хорошая новость: эту "дыру" в безопасности можно закрыть кодом!
С помощью 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
🔥10👍7❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2👏2
Contributor
Автоматизация обновления отчетности для 100.000+ сделок в год с помощью Google Apps Script для nocode-среды
Разработана система, которая автоматически создает и ежеминутно обновляет персональные Таблицы Гугл для резидентов, решая проблему ручного обновления и обеспечивая доступ к актуальным данным.
🔥 Не просто таблицы: превращаем выгрузки из вашей 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 #Аналитика
Коллеги, знакомая картина? Выгружаете данные из корпоративной 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 #Аналитика
🔥7❤3👏2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Кнопки, которые вы скорее всего никогда не нажимали
Вступайте в Клуб Google Apps Script по ссылке https://t.me/+C656ROsaJr44Yjdi (требуется приглашение)
Вступайте в Клуб Google Apps Script по ссылке https://t.me/+C656ROsaJr44Yjdi (требуется приглашение)
🔥7❤4👍3👏2
При работе с
Решением является создание прокси-сервера в Yandex.Cloud. Это руководство предлагает два проверенных сценария, а также лучшие практики для безопасного и надежного развертывания.
Сценарий А: Простой и быстрый доступ. Идеален, когда целевой сервис доверяет всему диапазону IP-адресов Yandex.Cloud.
Сценарий Б: Доступ по статическому IP-адресу. Незаменимый вариант, когда целевой сервис требует один неизменяемый IP в своем списке разрешенных.
oshliaer.github.io/oshliaer/docs/notes/apps-script/как_настроить_прокси_для_google_apps_script.html
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
❤5👍1
Extension Pack для Google Apps Script для vscode https://marketplace.visualstudio.com/items?itemName=labnol.google-apps-script
Пользуетесь хотя бы половиной расширений?
Пользуетесь хотя бы половиной расширений?
👍7🔥2❤1👏1
Всем добра.
Технология Apps Script переживает не лучшие свои моменты.
Но есть надежда. Инструментарий широк и легко используем, если не считать, конечно, особенностей многопользовательского доступа и связанных с этим ограничений. Возможно, в новом году удастся что-то с этим сделать. С новыми требованиями к автоматизации это может стать новым толчком к развитию и эксплуатации именно Apps Script.
Надеемся и верим.
С наступающим новым годом 🎄
Технология Apps Script переживает не лучшие свои моменты.
Но есть надежда. Инструментарий широк и легко используем, если не считать, конечно, особенностей многопользовательского доступа и связанных с этим ограничений. Возможно, в новом году удастся что-то с этим сделать. С новыми требованиями к автоматизации это может стать новым толчком к развитию и эксплуатации именно Apps Script.
Надеемся и верим.
С наступающим новым годом 🎄
❤3🔥2👍1
Forwarded from Yureckey
Шок-контент:
Починили (или добавили, если смотреть на это как на feature request) висевший 15 лет issue на возможность использовать postgresql в jdbc
https://issuetracker.google.com/issues/36752790
Починили (или добавили, если смотреть на это как на feature request) висевший 15 лет issue на возможность использовать postgresql в jdbc
https://issuetracker.google.com/issues/36752790
🔥4👍3❤2
Forwarded from Таблицы и Скрипты Гугл для бизнеса и анализа🤘🏻
Специалист по автоматизации Google Sheets / Google Apps Script
💰 80–140 тыс. на руки
📍 Удаленно / гибрид
🕒 Фуллтайм
ЭнергоТрансГрупп - оператор железнодорожного подвижного состава.
Ищем человека на поддержку и развитие внутренних автоматизаций в Google Workspace.
Стек:
• Google Apps Script
• Google Sheets
• JavaScript
• SQL / BigQuery
• API-интеграции
• HTML/CSS для простых интерфейсов
• Firebase
Задачи:
• Разработка и поддержка автоматизаций на GAS
• Работа с формулами и логикой в Google Sheets
• Интеграции через API
• SQL-запросы к BigQuery
• Поддержка существующих проектов и разработка новых
Сейчас проекты уже ведутся внутри компании — потребуется постепенно забрать часть задач на себя. Текущий разработчик остается в команде и поможет с погружением.
Сбором требований и коммуникацией с пользователями занимается отдельный сотрудник.
Контакты: @ilyakanavin
💰 80–140 тыс. на руки
📍 Удаленно / гибрид
🕒 Фуллтайм
ЭнергоТрансГрупп - оператор железнодорожного подвижного состава.
Ищем человека на поддержку и развитие внутренних автоматизаций в Google Workspace.
Стек:
• Google Apps Script
• Google Sheets
• JavaScript
• SQL / BigQuery
• API-интеграции
• HTML/CSS для простых интерфейсов
• Firebase
Задачи:
• Разработка и поддержка автоматизаций на GAS
• Работа с формулами и логикой в Google Sheets
• Интеграции через API
• SQL-запросы к BigQuery
• Поддержка существующих проектов и разработка новых
Сейчас проекты уже ведутся внутри компании — потребуется постепенно забрать часть задач на себя. Текущий разработчик остается в команде и поможет с погружением.
Сбором требований и коммуникацией с пользователями занимается отдельный сотрудник.
Контакты: @ilyakanavin
🔥5❤4👎3👍1
Forwarded from CONTRIBUTOR.PW (Alexander Ivanov)
Сегодня 20е число. Макс все еще работает на старом URL. Очень не хочется отказываться от Google Apps Script только из-за того, что нельзя отправить запрос напрямую. Но, когда нельзя напрямую, можно на кривую. Это называется "проксирование" -- использование программы-посредника для всякого. В нашем случае для того, чобы решить проблему доверия сертификату Минцифры со стороны Google. И так нам нужен посрелник, котрому доверяет Гугл, и который в свою очередь, доверяет Минцифрам. И это ... Облако Яндекс!
Не буду долго юлить, детали можно посмотреть тут https://github.com/contributor-pw/provodox-lite
Затестить можно так:
По любым вопросам развертывания, авторизации, подключения соственного домена (например, я использую const BASE = 'https://provodox.contributor.pw') пишите в комментарии.
Не буду долго юлить, детали можно посмотреть тут https://github.com/contributor-pw/provodox-lite
Затестить можно так:
const BASE = 'https://d5dinh6uhntgb8lmpto8.xxg4zr82.apigw.yandexcloud.net';
const TOKEN = 'ВАШ_ТОКЕН_БОТА';
/** Было: прямой вызов MAX -- падает на TLS. */
function before() {
const res = UrlFetchApp.fetch('https://platform-api2.max.ru/me', {
headers: { Authorization: TOKEN },
muteHttpExceptions: true,
});
Logger.log(res.getContentText()); // сюда не доходит: Exception ... SSL Error
}
/** Стало: тот же вызов через прокси -- работает. */
function after() {
const res = UrlFetchApp.fetch(`${BASE}/me`, {
headers: { Authorization: TOKEN },
muteHttpExceptions: true,
});
Logger.log(res.getResponseCode()); // 200
Logger.log(res.getContentText()); // {"user_id":…,"is_bot":true,…}
}
По любым вопросам развертывания, авторизации, подключения соственного домена (например, я использую const BASE = 'https://provodox.contributor.pw') пишите в комментарии.
🔥3👎2👍1