Передача JSON в Google Таблицы без API | doPost() & doGet() | Google Apps | Google Sheets Script

Поделиться
HTML-код
  • Опубликовано: 18 сен 2024
  • Обучение программированию: курс-программи...
    Простой и комфортный способ отправить и получить данных в Google Таблицах через POSt и GET запросы. Без необходимости использовать сложные SDK, без нагрузки на браузер и собственные сервера. Практически любые манипуляции с данными выполняются на стороне Google.
    Статьи по программированию, можно найти в моем блоге:
    Подписывайтесь на мой Telegram канал "Закодированный": t.me/xe_coding
    Исходники на GitHub: github.com/kei...
    Для получения и отдачи данных Google Sheets используются функции doPost и doGet.
    Для примера используется импровизированная "база данны" бизнес-расходы. Скрипт находит первую пустую ячейку в столбце, при помощи функции getLastRow(), вносит данные и возвращает агрегированные данные с указанными параметрами.
    При помощи GET-запроса, из "базы" можно вытащить данные по конкретному пользователю или по пользователю и категории.
    #google #sheets #таблицы #apps #gscript #dopost #doget

Комментарии • 38

  • @bontafix4045
    @bontafix4045 2 года назад +5

    Евгений, мне кажется вместо трех setValue, было бы правильнее использовать один appendRow. Не?

    • @KhoroshilovEI
      @KhoroshilovEI  2 года назад +8

      Конечно, appendRow, сделал код проще и красивее. Но мне хотелось показать функцию getLastRow(). Нет, и в этом случае можно было написать не setValue(), а setValues(). Но как записал уже так записал. Пока не адаптировался к записи видосов - мандражирую бывает, плюс все делается в свободное время от основных проектов, поэтому бывают неплохие такие затупы из-за забитой головы. А так да, там в целом много чего в коде поменять можно)
      Закреплю-ка я ваш комментарий, наверное.

  • @HaosAndOrder
    @HaosAndOrder Год назад

    Евгений, это очень хорошие уроки. Мне они понравились. Доступно, понятно и красиво. Удачи в творчествах Ваших. Всего наилучшего.

  • @paveldpv91
    @paveldpv91 2 года назад +2

    Спасибо большое за урок )видео агонь . очень полезно

  • @projektalogistics5961
    @projektalogistics5961 Год назад

    Спасибо за труды , Евгений

  • @zndesigner9966
    @zndesigner9966 2 года назад +3

    Спасибо за урок! А можете показать, как будет сам POST запрос со стороны JS, как Вы показывали в уроке по Google Sheets скрипты: отдаем готовый JSON по GET-запросу. Google Web-apps. Google Scripts. Оттуда я как бы и пришел, что теперь можно было бы и изменять данные в таблице. Спасибо!

  • @юрийВеретнов-н4з
    @юрийВеретнов-н4з 2 года назад

    Спасибо за видео👍.
    Евгении хотел уточнить.
    У вас в 32 строке в цикле идёт сравнение i

  • @klentovskiyklent6716
    @klentovskiyklent6716 2 года назад +2

    Евгений, было бы круто если бы вы сделали урок о том как редактировать что либо в таблице, условно говоря скрипт искал бы id и менял бы sum или category

  • @АртемТуркин-м7и
    @АртемТуркин-м7и Год назад +1

    Давай ещё видео))))

    • @KhoroshilovEI
      @KhoroshilovEI  Год назад

      Технические нюансы порешаю и будут новые видео. Надеюсь, что со следующей неделе уже все будет.

  • @hanzo_process
    @hanzo_process Год назад

    ты лучший!! лайк!

  • @denisshchetinkin9165
    @denisshchetinkin9165 2 года назад +1

    Класс! Хотелось бы побольше видео по работе с GoogleSheets. Я думаю было бы полезно рассказать про удаление и обновление данных.

    • @KhoroshilovEI
      @KhoroshilovEI  2 года назад +1

      Постараюсь в ближайшее время больше видео на эту тему делать.

  • @iliuhahaha
    @iliuhahaha 5 месяцев назад

    👌

  • @user-fedorIhor
    @user-fedorIhor 2 года назад +1

    Евгений, спасибо Вам!
    У вас крутой и интересный контент и интересными задачами, я желаю что бы канал у Вас рос и мотивировал создавать все больше нового, интересного и полезного.
    Из области фантастики: можно сделать ряд видео, типа туториала по создаю небольшой СРМ системы где можно заюзать и гугл таблицы как бэк и js нативный или реакт ( как для сайта где будут графики и формы и статистика полученная от бэка из гугл таблиц) и можно создать как бота в телеграм который тоже будет наполнять данную таблицу данными и выводить инфу в цифрах исходя от команды так и расширение )))
    Но как по мне - это сильно качнет в практике и даст понимание построения логики и взаимодействия )

    • @KhoroshilovEI
      @KhoroshilovEI  2 года назад +1

      Спасибо за высокую оценку! Идея интересная, главное найти время для реализации)))

  • @VakaramGolang
    @VakaramGolang Год назад

    красавелла

  • @isdesk2803
    @isdesk2803 4 месяца назад

    Евгений, спасибо за видео. Единственный момент мне не понятен как "сприпт" узнает в какую таблицу надо записывать данные?

  • @aleksp3699
    @aleksp3699 Год назад

    Здравствуйте. Спасибо за очень интересные уроки. А какой учебник можете порекомендовать для изучения JS вообще? Я так понимаю синтаксис гугл скриптов на них построен, ноу меня познания очень старые, по коду смотрю есть вещи которые я не изучал, и они более удобные чем древний JS с которым я сталкивался

  • @murat.ondasyn
    @murat.ondasyn 2 года назад +1

    Очень полезное видео. Спасибо. Доступно и понятно. У меня только один вопрос. Doget и в целом передача вызов запись данных с Гугл таблицы через функции которые вы показали без ограничения по количеству запросов? Гугл всегда ставит какие то лимиты всегда. Типа 1000 раз выполняет и все, нужно другую таблицу открывать. На выполнение функций Гугл даёт 6 мин. Больше выдает ошибку. Прошу вас ответить на мой вопрос. За раннее спасибо.

    • @KhoroshilovEI
      @KhoroshilovEI  2 года назад +1

      Ограничения действительно есть, их можно посмотреть по этой ссылке: developers.google.com/apps-script/guides/services/quotas#current_limitations
      Хотя, была информация, что на запросы гугл вроде как отменял ограничения.
      Сейчас лимит 20 000 запросов в день, т.е. новую таблицу не нужно создавать. Если этого мало, здесь уже надо смотреть по решаемой задаче. Google принимает POST запросы объемом до 50Мб. Можно накапливать данные и отправлять большими пакетами.
      Что касается времени выполнения, оно так же есть. Как вы и сказали, 6 минут. Тут тоже нужно смотреть задачу. 6 минут, это реально много. Возможно стоит как-то пересмотреть подход к обработке данных.

  • @abdullahquhtani4247
    @abdullahquhtani4247 2 года назад +1

    Great 👍🏼. I wish you could do such these great and useful tutorial in English or at least with English subtitles.
    One more thing, is it possible to return the whole content of the sheet as an array in Jason format in case I want to get the whole thing.
    One last thing, you have an idea how to implement grapgQL in the same way 🤔.
    Thank you 🙏 🙏🙏.

    • @KhoroshilovEI
      @KhoroshilovEI  2 года назад

      Hello sir! I would love to record videos in English, but I'm a little shy about pronunciation. Subtitles can be done, I'll do it soon!
      You can return all data as a JSON array. In general, using Apps Script you can process the data as you wish. You have full-fledged Javascript complete with objects for accessing Google resources and specialized functions for convenient processing of their responses. Therefore, almost nothing limits you.
      About GraphQL. There was no such task, so I can not answer. Maybe there are some methods, but I'm not sure.

    • @abdullahquhtani4247
      @abdullahquhtani4247 2 года назад

      @@KhoroshilovEI Thank you 🙏 so much for your response. Highly appreciated👍🏼.

  • @amelianceskymusic
    @amelianceskymusic Год назад

    Я так понимаю этим api из под стороннего веб приложения не получиться воспользоваться?

  • @IldarShayakhmetov
    @IldarShayakhmetov 2 года назад

    Благодарю! Очень полезное и нужное видео. Евгений, прошу прощение за мою наглость. Может вы сможете подсказать по GET запросу? Мне необходимо производить поиск по столбу А на соответствие ID и выводить из столбца B(name) и C(phone) данные, которые находятся в той сроке, где было найдено соответствие ID. В столбце А ID не повторяются, каждые в единственном экземпляре. Уже голову сломал над этой задачей )))

    • @Vovca_213
      @Vovca_213 2 года назад

      Запускай цикл по перебору значений на соответствие id в столбце а. Когда нашел нужную строку, выводи ее. Столбец а, б, с...

  • @GlebSanych
    @GlebSanych 11 месяцев назад

    Все круто. Но музыка совершенно не к месту.

  • @amelianceskymusic
    @amelianceskymusic Год назад

    А есть что подобное что бы юзать на клиенте, для React ищу, что то не могу найти=(

  • @eltigre8475
    @eltigre8475 Год назад

    Подскажите как значение параметра из ссылки подставить в метод filter() + в нём используется регулярка . строка такого плана .filter(el => el[3].match(new RegExp('^' + Title + '([ :\?,!-]|$)', 'giu')) !== null) вот за место Title мне нужно вставлять значение параметра из ссылки. Как это можно сделать, спасите помогите))))

  • @Владимир-ж7ж5м
    @Владимир-ж7ж5м Год назад

    doPost и doGet - хардкорные наименования методов? Почему при вызове через Postman, она дёргает именно doGet, а не getResult?

    • @VladimirNerby
      @VladimirNerby 7 месяцев назад

      Зарезервированные имена методов

  • @CreatorDreamer
    @CreatorDreamer Год назад

    Насколько я понимаю, API необходим для работы из внешних программ. Так как из своих приложений без API невозможно передать данные. Поэтому в чем тут лайфхак, я честно не понял.
    Только если использовать привычные формулы как-то по новому... но для чего?
    Велосипед помоему изобретаете.

  • @user-pd1uw3iu7s
    @user-pd1uw3iu7s 7 месяцев назад

    как с вами сязаться *

  • @andreiviltouski2390
    @andreiviltouski2390 Год назад

    Музыка мешает

  • @wrkPobedria
    @wrkPobedria Год назад

    Я прошу прощения. Но это не учебное видео. Это демонстрация того, что автор умеет. Музыка к чему? Чтобы отвлекала и мешала слушать? Делать процедуру с конца зачем? Чтобы сэкономить время - да, чтобы понятнее было - нет. По ходу изготовления одной процедуры сразу же копировать куски в другую - зачем? Чтобы размыть внимание? Я пришел из 1с, где мне для конфигурации нужен простой вариант устроить веб морду для широких масс, не связываясь с сайтом. Люди анкету заполняют, 1с через запросы всасывает. Смотрю Ваше видео, вроде бы оно. Но блин, как учебное видео не годится. (опыт разработки SQL, 1с, корпоративные системы - 30 лет)