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

Sdílet
Vložit
  • čas přidán 24. 01. 2022
  • Обучение программированию: курс-программирование.рф/?utm...
    Простой и комфортный способ отправить и получить данных в Google Таблицах через POSt и GET запросы. Без необходимости использовать сложные SDK, без нагрузки на браузер и собственные сервера. Практически любые манипуляции с данными выполняются на стороне Google.
    Статьи по программированию, можно найти в моем блоге:
    Подписывайтесь на мой Telegram канал "Закодированный": t.me/xe_coding
    Исходники на GitHub: github.com/keitmn/Google_Shee...
    Для получения и отдачи данных Google Sheets используются функции doPost и doGet.
    Для примера используется импровизированная "база данны" бизнес-расходы. Скрипт находит первую пустую ячейку в столбце, при помощи функции getLastRow(), вносит данные и возвращает агрегированные данные с указанными параметрами.
    При помощи GET-запроса, из "базы" можно вытащить данные по конкретному пользователю или по пользователю и категории.
    #google #sheets #таблицы #apps #gscript #dopost #doget

Komentáře • 38

  • @bontafix4045
    @bontafix4045 Před 2 lety +5

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

    • @KhoroshilovEI
      @KhoroshilovEI  Před 2 lety +7

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

  • @HaosAndOrder
    @HaosAndOrder Před rokem

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

  • @paveldpv91
    @paveldpv91 Před 2 lety +2

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

  • @projektalogistics5961

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

  • @iliuhahaha
    @iliuhahaha Před 4 měsíci

    👌

  • @klentovskiyklent6716
    @klentovskiyklent6716 Před 2 lety +2

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

  • @hanzo_process
    @hanzo_process Před rokem

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

  • @zndesigner9966
    @zndesigner9966 Před 2 lety +3

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

  • @user-iq4xy4kt4r
    @user-iq4xy4kt4r Před 2 lety

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

  • @isdesk2803
    @isdesk2803 Před 3 měsíci

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

  • @denisshchetinkin9165
    @denisshchetinkin9165 Před 2 lety +1

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

    • @KhoroshilovEI
      @KhoroshilovEI  Před 2 lety +1

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

  • @VakaramGolang
    @VakaramGolang Před rokem

    красавелла

  • @user-fedorIhor
    @user-fedorIhor Před 2 lety +1

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

    • @KhoroshilovEI
      @KhoroshilovEI  Před 2 lety +1

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

  • @user-dh8fm1uh4u
    @user-dh8fm1uh4u Před rokem +1

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

    • @KhoroshilovEI
      @KhoroshilovEI  Před rokem

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

  • @aleksp3699
    @aleksp3699 Před 10 měsíci

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

  • @murat.ondasyn
    @murat.ondasyn Před 2 lety +1

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

    • @KhoroshilovEI
      @KhoroshilovEI  Před 2 lety +1

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

  • @GlebSanych
    @GlebSanych Před 10 měsíci

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

  • @abdullahquhtani4247
    @abdullahquhtani4247 Před 2 lety +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  Před 2 lety

      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 Před 2 lety

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

  • @IldarShayakhmetov
    @IldarShayakhmetov Před 2 lety

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

    • @Vovca_213
      @Vovca_213 Před 2 lety

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

  • @amelianceskymusic
    @amelianceskymusic Před rokem

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

  • @amelianceskymusic
    @amelianceskymusic Před rokem

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

  • @eltigre8475
    @eltigre8475 Před rokem

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

  • @user-yh9uo8tn2k
    @user-yh9uo8tn2k Před 11 měsíci

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

    • @VladimirNerby
      @VladimirNerby Před 6 měsíci

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

  • @user-pd1uw3iu7s
    @user-pd1uw3iu7s Před 6 měsíci

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

  • @CreatorDreamer
    @CreatorDreamer Před rokem

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

  • @andreiviltouski2390
    @andreiviltouski2390 Před rokem

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

  • @user-cn6yx6zj4t
    @user-cn6yx6zj4t Před rokem +1

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