COMMUNITY MEETUP – Thu, July 2 19.00 (CET) – Glide & APIs

COMMUNITY MEETUP: July 2, 2020 (Thursday)

Glide & APIs: A love story
19.00 (CET)
60 minutes (presentation: 30-40 minutes, Q&A ~20 minutes)
Online
Google Meet link
Add to your calendar (updated link)

Will be presented by @Vicio_Sciascia.

This community meetup is organized spontaneously by a few Gliders, not by Glide Team itself.

Let us know here what about Glide and APIs interests you in particular.
Let us know also if you think you might be able to join.

(Should the calendar link above not work, feel free to send @nathanaelb a direct message with your email address and I will add you.)


Meeting agenda

  • Let’s try to sign in a few minutes early so we can start at 19.00.
  • Participants who wish to can say a (short) word about what they are hoping to take away from the meetup.
  • Presentation by Vicio, followed by Q&A:
    1. A brief introduction: what APIs are and advantages of using them in Glide
    2. We will learn to perform a request to an API and obtain a response containing data
    3. We will build a simple Glide App that will show contents retrieved from an API upon user request

See you next week!

7 Likes

Ha I can’t join this due to the time difference :frowning_face:

Hopefully there will be a writeup about that later on!

Sorry @ThinhDinh. We’ll make sure to take notes and share them with you. :slight_smile:

2 Likes

Thanks a lot as always for organizing these sessions Nathanael, I highly appreciate it and I’m sure others do as well :smile:

2 Likes

I am also interested in your topic. But I also can’t anticipate that time. Can you sharr me the information of that discussion? Thank you.

@ThinhDinh It is long overdue, I apologize.

Vicio showed interest in presentation this topic a few weeks ago and it’ll be great to hear about Glide & API’s. So thank you, @Vicio_Sciascia.

1 Like

Hi guys,
apologize for fellow Gliders that can’t participate :frowning:
However, I will share the content of the presentation right after the meetup.

Here’s the agenda:

  1. A brief introduction: what APIs are and advantages of using them in Glide
  2. We will learn to perform a request to an API and obtain a response containing data
  3. We will build a simple Glide App that will show contents retrieved from an API upon user request

The Glide App that we will build will be also shared to let you perform your tests.

@ThinhDinh I’m sorry you will miss the meetup, there will be a mention of honor for your help with override arrayformula limitations :wink:

See you
Bye

3 Likes

Hoping to join. Thanks for setting up

1 Like

Hello everyone, here is the agenda on Glide & APIs for next week’s meetup:

  1. A brief introduction: what APIs are and advantages of using them in Glide
  2. We will learn to perform a request to an API and obtain a response containing data
  3. We will build a simple Glide App that will show contents retrieved from an API upon user request.

Should you want a calendar invite, please let me know by sending a direct message to @nathanaelb with your email address (used only for the calendar invitation of course).

2 Likes

Is the “Add to your calendar” link in the initial post working?

I’m a little confused. A friend told me it seems to not be working, and yet I see there were 19 clicks.

If there is a problem with the link, please let me know. :pray:t2:

The event is not being added (at least to my calendar). Here’s the message I get after google calendar opens:
Screen Shot 2020-06-29 at 6.01.36 PM

Thanks @JasonFrederick !

Ok, this is preposterous. My personal calendar in Google Calendar is, of course, personal and therefore private.

When I create an event in my private calendar, I have the option to make a specific event “public” and to “publish” it (=share it) with a link or html code to be embedded:

I wrongly assumed that this “public” feature would override the settings of my calendar. Why else would that feature be there then?

And yet I just found this:

This is a very unexpected result to say the least.

If anyone here works at Google… Though it is hard for me to imagine that Google would be at fault here, this seems so, so basic.

1 Like

I just updated the link to add to calendar.

You can use this one or the one in the original post, they are the same.

I hope it works now. If it doesn’t work, don’t hesitate to let me know.

19:00 CET time is for me 1 pm, I could be with you surely!!

Saludos @nathanaelb

See you there @gvalero. If you want me to add you to the calendar invitation, please send me your email address in a dm.

Last call for today’s community meetup “Glide & APIs”.

When: now (July 2, 19.00 CET)

Sign in here: Google Meet

Thank you so much for joining the meeting guys.
I really appreciated your interest and your smart questions.

Here you can find the slides:

We made a walkthrough creating this App:
https://yz5s7.glideapp.io/

Using PunkApp, the user will be able to retrieve information about random beers from Punk API: an unofficial API that allows you to explore Brewdog Brewing Company craft beers’ catalogue.

Here is the code for my watcher script built on top of @ThinhDinh’s one:

function fillFormulas() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Queries');
  var lr = sheet.getLastRow();
  var fillDownRange = sheet.getRange(lr, 4, 1);
  sheet.getRange("D"+(lr-1)).copyTo(fillDownRange);
  Utilities.sleep(2000);
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('A1').activate();
  spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.DOWN).activate();
  spreadsheet.getRange('A3:U3').activate();
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Beers'), true);
  spreadsheet.getRange('A1').activate();
  spreadsheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.DOWN).offset(1,0).activate();
  spreadsheet.getRange('Queries!A3:U3').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Queries'), true);
  spreadsheet.getRange('3:3').activate();
  spreadsheet.getActiveSheet().deleteRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows());
}

It can be used to:

  • retrieve the last row from “Queries” sheet (a sheet used to temporarly collect user’s requests) every time the script is triggered
  • copy down the formula contained on column 4 in the row right above (in this case the formula will be ImportJSON that will fill cells A3 to U3 with data retrieved from Punk API)
  • copy data from the new row (in this case the third row) in “Queries” sheet
  • paste only values to a new empty row to another sheet used as storage (the sheet is called “Beers” here)
  • delete the original row from “Queries” sheet

Why this trick? Because otherwise, from time to time, when you open your sheet ALL ImportJSON formulas will be refreshed asking new data to APIs and that’s bad because you can reach rate limit from APIs and get banned :innocent:

The watcher script will be activated by an onChange Google Apps Script Trigger:

Thank you again @nathanaelb for setting it up

Have fun :blush:

Bye

5 Likes

Excellent Vicio, thanks for putting all of this together!

2 Likes

Nice one guys - I hope I can stay a little longer next time :joy:. Didn’t time that so well :wink:

2 Likes