TGViewer
Channel Public Channel
Google Apps Script | Канал

Google Apps Script | Канал

@gasru

Google Apps Script для бизнеса от экспертов-практиков

Публикуем скрипты, кейсы и решения для реальной автоматизации. Канал поддерживается нашим профессиональным Клубом @gasru_chat (вход по рекомендации)

Разработка и партнерство: @Boorawchick, @oshliaer
Subscribers
1.53K
Photos
151
Videos
11
Links
353
Recent Posts 18 shown
Post #544 905
Проблема в работе основного триггера проверки. Он уходит за лимит. Но это явно проблема Гугл, потому что среднее время выполнения нормальное, как и ожидалось в самом начале -- меньше 4 мин.

1. Общее число ошибок 14% -- это много, поэтому и заметно
2. 3/4 всех запусков выполняется в ожидаемом диапазоне времени, т.е. до таймаута далеко
3. Ошибки распределены внутри суток равномерно, т.е. не зависит от того, появилось ли в системе новое событие или нет.

Коротко: проблемы у Гугл.
  • 🔥 5
  • 👍 2
  • 👏 2
Post #543 942

Forwarded from CONTRIBUTOR.PW (Alexander Ivanov)

Сегодня 20е число. Макс все еще работает на старом URL. Очень не хочется отказываться от Google Apps Script только из-за того, что нельзя отправить запрос напрямую. Но, когда нельзя напрямую, можно на кривую. Это называется "проксирование" -- использование программы-посредника для всякого. В нашем случае для того, чобы решить проблему доверия сертификату Минцифры со стороны Google. И так нам нужен посрелник, котрому доверяет Гугл, и который в свою очередь, доверяет Минцифрам. И это ... Облако Яндекс!

Не буду долго юлить, детали можно посмотреть тут 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
  • 👍 1
Post #542 1.19K

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
  • 🔥 5
  • ❤ 4
  • 👎 3
  • 👍 1
Post #540 2.62K

Forwarded from Yureckey

Шок-контент:
Починили (или добавили, если смотреть на это как на feature request) висевший 15 лет issue на возможность использовать postgresql в jdbc
https://issuetracker.google.com/issues/36752790
  • 🔥 4
  • 👍 3
  • ❤ 2
Post #538 3.24K
Всем добра.

Технология Apps Script переживает не лучшие свои моменты.

Но есть надежда. Инструментарий широк и легко используем, если не считать, конечно, особенностей многопользовательского доступа и связанных с этим ограничений. Возможно, в новом году удастся что-то с этим сделать. С новыми требованиями к автоматизации это может стать новым толчком к развитию и эксплуатации именно Apps Script.

Надеемся и верим.

С наступающим новым годом 🎄
  • ❤ 3
  • 🔥 2
  • 👍 1
Post #537 4.18K
  • 🔥 4
  • 👍 3
  • ❤ 2
  • 👎 1
Post #535 4.25K
При работе с 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
Post #534 3.11K
Кнопки, которые вы скорее всего никогда не нажимали

Вступайте в Клуб Google Apps Script по ссылке https://t.me/+C656ROsaJr44Yjdi (требуется приглашение)
  • 🔥 7
  • ❤ 4
  • 👍 3
  • 👏 2
Post #533 2.87K
🔥 Не просто таблицы: превращаем выгрузки из вашей 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 #Аналитика
Contributor Автоматизация обновления отчетности для 100.000+ сделок в год с помощью Google Apps Script для nocode-среды Разработана система, которая автоматически создает и ежеминутно обновляет персональные Таблицы Гугл для резидентов, решая проблему ручного обновления и обеспечивая доступ к актуальным данным.
  • 🔥 7
  • ❤ 3
  • 👏 2
  • 👎 1
Post #532 1.91K
TODO list
- the mission ✅complete
  • 🔥 3
  • 👍 2
  • 👏 2
Post #531 2.18K
🔐 Ваш 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
  • 🔥 10
  • 👍 7
  • ❤ 3
Post #530 1.71K
Так, что есть на данный момент:
- вебапы начали падать где-то в 7 часов утра по Москве
- не смог запустить разные вебапы с разных аккаунтов https://t.me/gasru/529
- сейчас пошли потверждения о чужих вебапах, которые не поднимаются и в диалоговых окнах
- возможная ошибка в трекере https://issuetracker.google.com/issues/428521312

Так-то. Ждем
  • ❤ 3
  • 👍 3
  • 🔥 2
  • 👎 1
Post #529 1.61K
Колбэки на вебапах упали. Два аккаунта подтверждено. Не важно из какой сети ⚠️
  • 🔥 4
  • ❤ 2
  • 👍 2
  • 👎 2
Post #527
Channel photo updated
Post #526
Channel name was changed to «Google Apps Script | Канал»
Post #525 2.32K
Немного про сортировку листов. В какой-то момент это была довольно больная тема, и каждый раз предлагался вариант сортировки через активирования листа, т.к. в стандартной библиотеке 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;


По ссылке пример использования заранее известной сортировки для любого числа листов в книге.
  • 👍 6
  • ❤ 3
  • 🔥 3
Older posts →

About this channel

How can I read @gasru without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Google Apps Script | Канал: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Google Apps Script | Канал have?
Google Apps Script | Канал (@gasru) has 1.53K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Google Apps Script | Канал know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →