1847
Чат посвящен вопросам обработки данных и автоматизации работ с помощью сервисов Google Cloud и Yandex Cloud. Изначально посвящен Google Apps Script. Google Workspace чат t.me/gsuiterc Заказать работу @oshliaer и @GoogleSheets_ru_cm
но ваш вариант тоже интересный, спасибо
мне он нравится не сколько тем, что не нужно перевставлять ссылку (т.к. я использую вариант описанный выше на скриншоте со стрелками), а что не нужно постоянно переразвёртывать после каждого изменения
библиотека это, конечно, хорошо, но чем меньше библиотек подключено — тем быстрее скрипт работает
Читать полностью…
у меня так на работе было когда делали телеграм ботов
у меня всегда всё ок, а коллега жаловался что приходится что-то там ему удалять, что-то у него копится
я не знал как делать несколько деплоев, а он не знал как делать один)
Как я понимаю проблему, при каждом изменении скрипта приходится делать развертывание, и меняется адрес ендпоента. Чтобы не менялся адрес достаточно разделить скрипт на две части. Скрипт развертываенье и скрипт библиотеки. Скрипт развертывания содержит только две функции doGet и doPost и вызывает аналогичные функции из скрипта библиотеки.
Читать полностью…
Всё новое - хорошо забытое старое :)
Читать полностью…
Пишу же: слишком много редиректов. Никакого dev нет, если сделали развертывание, то только exec будет. У Гугла баланс нагрузки скорее всего, так вот там последовательно редиректит
Читать полностью…
Редирект будет в любом случае.
Читать полностью…
Не, там чтот другое и платное. Маскировка работала под vk, а в Яндекс в принципе дыра на полный доступ ко всему и всегда
Читать полностью…
То, что он обходит белые списки через маскировку под адреса Яндекса никакого отношения к Яндексу не имеет)
Читать полностью…
Просто Яндекс не поддерживает редирект. Было такое с ботом vk.
Читать полностью…
А постманом запрос также сделайте
Читать полностью…
У меня знакомый блокировки интернета через Яндекс обходит 😅 так что Яндекс в этом плане довольно лоялен)
Читать полностью…
Так и сделал - развернул от себя и доступно всем. Авторизация не требуется.
Contenttype пока не понял. Если это в скрипте, то до выполнения его дело даже не доходит - ответ в виде html присылает не мой скрипт а гугл
Также учите как вы авторизуете запрос.
Читать полностью…
Временно перемещено, документ перемещен "сюда"
Почему gas присылает такой ответ?
это особенно ощущается когда телеграм после 30 секунд отсутствия ответа от моего сервера (скрипта, который принял запрос и обрабатывает) начинает слать повторные запросы
Читать полностью…
В моей схеме ничего делать не надо, почти, меняй библиотечный скрипт и все изменения на лету подтягиваются.
Читать полностью…
Так никто и не делает "нового" развёртывания. Можно же обновлять уже существующее развёртывание:
1. Управление развёртываниями
2. Тыкаете в карандаш
3. Ставите "новая версия"
4. Профит . . .
Не знаю как вы делаете,что у вас несколько деплоев , одного хватает ведь.
Читать полностью…
Новый прикол: Скрипты из меню не закрывают плашку исполнения, хотя в логах успешное завершение.
Читать полностью…
Не знаю. При банальном тесте из GAS fetch c option followRedirects: false
1. response.getResponseCode() //200
function doPost(e) {
let json = JSON.stringify({ result: "Hello" });
return HtmlService.createHtmlOutput(json);
}function doPost(e) {
let json = JSON.stringify({ result: "Hello" });
return ContentService.createTextOutput(json).setMimeType(ContentService.MimeType.JSON);
}
Читать полностью…
Тож надо проверить вечером. Спасибо
Читать полностью…
Благодарю, посмотрю что там с dev и exec. Хотя полную ссылку с /exec выдает gas после деплоя, и в логах видно что обращение идёт к последнему деплою. Думаю вряд-ли гас даст заведомо неверную ссылку если приложение ещё в тестовом режиме.
Читать полностью…
Мнение ИИ: Ваша функция doPost() должна возвращать не объект TextOutput, а объект HtmlOutput, тогда редиректа не будет
return HtmlService.createHtmlOutput(jsonString)Читать полностью…
.setMimeType(ContentService.MimeType.JSON);
Ошибка, показанная на скриншоте (302 с GSE Default Error и редиректом на script.googleusercontent.com), в большинстве случаев свидетельствует о том, что веб-приложение (веб-хук) не было корректно развёрнуто или не готово принимать запросы.
Конкретные частые причины:
Скрипт вообще не развёрнут как веб-приложение
– Вы обращаетесь по адресу /macros/s/<ID>/exec, но соответствующего деплоя нет. Google перенаправляет на страницу ошибки.
Деплой существует, но он в «тестовом» режиме (/dev), а вы пытаетесь вызвать /exec (или наоборот) – доступ запрещён.
В скрипте нет функции doGet(e) или doPost(e), которая возвращает HtmlOutput или TextOutput.
– Без неё Apps Script не знает, как ответить, и генерирует ошибку.
Внутри doGet/doPost возникло необработанное исключение (ошибка в коде, например, обращение к несуществующему свойству, проблемы с авторизацией).
– Вместо нормального ответа система возвращает редирект на «страницу ошибки».
Неверно настроены права доступа
– Например, выбрано «Execute as: Me», но владелец скрипта не авторизовал приложение, или «Who has access: Only myself», а запрос приходит извне (от Яндекс.Алисы). Тогда Google пытается перенаправить на страницу входа, но что-то идёт не так, и в итоге выдаётся 302 с ошибкой.
Запрос пришёл на старую версию деплоя, которая уже не существует
– После изменений скрипта нужно создавать новую версию и развёртывать её, иначе старый URL ведёт в никуда.
Это если белый ip на vps. Тут не в лояльности дело
Читать полностью…
Стоп в может из Яндекса нельзя ему иностранный ip не нравится
Читать полностью…
Для старта раз верните приложения от себя без авторизации пользователем
Читать полностью…
Поиграйте с contenttype
Читать полностью…
Суть такая. Есть скрипт развернутый как веб приложение с функцией doPost. По ссылке на скрипт отправляю post запрос и ожидаю ответ.
Через браузер все работает, ответ от скрипта приходит в json формате.
Отправляя запрос через Яндекс навык, запрос отправляется но не доходит до функции doPost. В ответе приходит html с ссылкой отличающейся от ссылки развернутого скрипта.
Moved Temporarily
The document has moved 'hear'
Хотя Яндекс ожидает ответ json