Google Sheets - JSON API, Wep App - e.j1 p.1

Поділитися
Вставка
  • Опубліковано 15 чер 2020
  • Learn how to create self-made JSON API from Google Sheets using a Web App and make AJAX requests from external page.
    Full Series Playlist • Google Sheets Self-Mad...
    #googlesheets #json #api

КОМЕНТАРІ • 74

  • @stefanbirsan3320
    @stefanbirsan3320 Рік тому +4

    For those who have troubles with CORS. My issue was that I copied the wrong url to fetch from. The interface is a bit different now (JAN 2023). You'll want to go to DEPLOY -> MANAGE DEPLOYMENTS -> Copy URL for web app (ends in /exec). I had issues because I went to TEST DEPLOYMENTS and that url ends with /dev. And it has a different id. Hopefully this helps.

  • @umeshagarwal4271
    @umeshagarwal4271 4 роки тому +4

    I have been watching your videos, it's a great learning. Thank you so much for all the hard work you did. Blessings from India🙏

  • @bang-naim
    @bang-naim Рік тому +3

    I learn a lot. I have been rewatching this multiple times on multiple occasions. You're great at teaching, thank you so much.

  • @caizza3
    @caizza3 3 роки тому +1

    Great video, i really like how you go through the documentation!

  • @AlexM-ym7kd
    @AlexM-ym7kd 3 роки тому +3

    You are a very good teacher, I appreciate these videos. It's funny that you're so good at this stuff that you can't get it to not work 🤣 8:55

  • @sharonwan9813
    @sharonwan9813 3 роки тому +1

    Thanks a lot for this clear and concise step by step video!

  • @sudoalex
    @sudoalex 4 роки тому +2

    Thank you very much for doing these videos!

  • @66Komodo
    @66Komodo 4 роки тому +1

    it is interesting to see what is possible with google sheets. cool videos. Please keep going. Thanks

  • @stevepineirov20
    @stevepineirov20 4 роки тому +1

    Awesome video’s love them!!

  • @GVensino
    @GVensino Рік тому

    Thank you! Saved me! This video is amazing. God bless you :)

  • @stephankuche5859
    @stephankuche5859 4 роки тому +2

    Thanks a lot very helpful .

  • @jhicinternational
    @jhicinternational 3 роки тому +1

    excellent

  • @daytodatainc.2520
    @daytodatainc.2520 3 роки тому

    Great video!

  • @usamanaeem8737
    @usamanaeem8737 Місяць тому

    Dude you are brilliant

  • @ashimov1970
    @ashimov1970 2 роки тому +1

    Dude, you're the best. God bless

  • @phecdu
    @phecdu 3 роки тому

    Thank you so much. I think you can make a seri of google sheet API. That would be interesting. And you can share your code in git so every one can easy follow

  • @philipevangelista3020
    @philipevangelista3020 2 роки тому

    Great tutorial, thank you! This may be not related to your video but I'm trying to find out more about cookies and session data with the use of GAS. Unfortunately, I couldn't find anything on the interweb that would "mimic" storing session data of a web app (made with GAS). I want to store some sort of session cookie so that when a user logs in (or refreshes/goes to a different page), the session data is persisted through other pages as well (i.e. Names, Age, Reg info, etc). I hope that made sense and if you have any tips on this, would greatly appreciate it! Thank you!

    • @getitdonetube
      @getitdonetube  2 роки тому

      Here is all you need ua-cam.com/video/P6rxuyNT7Tw/v-deo.html

  • @karthikpangala9854
    @karthikpangala9854 3 роки тому

    Thank you.

  • @soyezcloud
    @soyezcloud 4 роки тому +1

    Why are you not using git to push changes to GitHub from vscode ?

  • @tazulislam2698
    @tazulislam2698 2 роки тому

    Thanks! Please make a video on how to insert 2d array of value?

  • @hamidallahzakarya7224
    @hamidallahzakarya7224 3 роки тому +1

    subscribed

  • @NickStoneDevelopment
    @NickStoneDevelopment 2 роки тому

    AJAX Works as long as you either host on same source or don't have to use any JWT or CORS requirements. With Google, it's hard to believe you can securely store or get data without having to involve Google APIs and Google Console, generating API keys, scopes, app keys, etc. Is this just for public to public files and access?

  • @dwburger
    @dwburger 3 роки тому

    This is a very helpful video for a beginner like me. Just wondering...how can I console.log the response in the doGet function? I'd like to console.log the response from this return:
    return ContentService.createTextOutput(JSON.stringify(response))
    .setMimeType(ContentService
    .MimeType.JSON);
    Thanks for any help or guidance you can provide!

    • @getitdonetube
      @getitdonetube  3 роки тому

      Watch this ua-cam.com/video/flxj-QB50zo/v-deo.html

  • @desenvolvimentonavalcare3846
    @desenvolvimentonavalcare3846 Рік тому +1

    Why did you put your JSON variable inside an array? at 1:07. Could it just be a JSON? Also, thank you SO MUCH for this video series bro.

  • @sistana
    @sistana 2 роки тому

    Very clear, thank you very much. 100% high quality information. But how to avoid CORS restrictions with AJAX requests from other servers?. Thanks again

    • @getitdonetube
      @getitdonetube  2 роки тому

      The only time I get CORS error is when I have some sort of problem in the code. Otherwise I'm able to call it from other servers just fine.

  • @88gomo88
    @88gomo88 8 місяців тому

    I'm following your videos and I learing a lot. Thank you! About this json api, how can I work if my API can be executed only by users from my domain? I guess i need a kind of google sign in function. Do you have any suggestions?

  • @findthetruth3021
    @findthetruth3021 4 роки тому

    Could you please make a cascade drop-down in HTML alone or anything that works?

    • @getitdonetube
      @getitdonetube  4 роки тому +1

      I just did a 2hr video on cascading dropdowns which is published on the channel.

  • @monarca2846
    @monarca2846 2 роки тому

    Why I did not find this before?! Tks!

  • @dwadd7528
    @dwadd7528 3 роки тому +2

    how do i fix CORS error?
    { mode: 'no-cors'} does not return JSON.

    • @getitdonetube
      @getitdonetube  3 роки тому +1

      That usually means you have an error in your code.

  • @asifiqba1pa1ash
    @asifiqba1pa1ash Рік тому

    can you show me how to interat withj shopify api with google sheet api?
    i want to append a row when any order creates,
    I want to show them on a google apps script web app, then there will be a button that sends shopify to mark an order fulfilled and notify customer to pickup from the store

  • @garylee5170
    @garylee5170 2 роки тому

    So like I’m was saying to myself and Thanking to myself is what tha different of HTML and JSON and CSV?

    • @getitdonetube
      @getitdonetube  2 роки тому

      CSV is a text file where columns are separated by commas & rows by a new line.
      HTML - web markup language
      JSON - JavaScript Object Notation, which is text formatted in a specific way to represent data en.wikipedia.org/wiki/JSON

  • @georgejacob9891
    @georgejacob9891 2 роки тому

    I was wondering if I could ask you a question about the fetch API. I am doing a post method using the fetch API on the client side. However, when I deploy the U app through Google sheets, I get the following error:
    (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). Status code: 200.
    This is my code:
    fetch(url, {
    method: 'POST', // *GET, POST, PUT, DELETE, etc.
    mode: 'cors', // no-cors, *cors, same-origin
    cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
    credentials: 'same-origin', // include, *same-origin, omit
    headers: {
    'Content-Type': 'application/json'
    // 'Content-Type': 'application/x-www-form-urlencoded',
    }

    • @getitdonetube
      @getitdonetube  2 роки тому

      remove
      mode: 'cors', // no-cors, *cors, same-origin
      cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
      credentials: 'same-origin', // include, *same-origin, omit

    • @getitdonetube
      @getitdonetube  2 роки тому

      and 'Content-Type': 'application/json'

    • @getitdonetube
      @getitdonetube  2 роки тому

      So long as you have a valid request it should work fine.

    • @georgejacob9891
      @georgejacob9891 2 роки тому

      Thank you so much! That worked. I am so grateful to you for creating these amazing videos. It allowed me to do so many things that I could not have done otherwise. You are an amazing teacher!

  • @normanejm
    @normanejm 2 роки тому

    HI, but how can it works for a external account?? I mean, I'm not the "owner" of that sheet, but I have to read the sheet...

    • @getitdonetube
      @getitdonetube  2 роки тому

      I'm not exactly sure what environment you are in, but you can find examples here developers.google.com/sheets/api/quickstart/js
      For different environments check the left menu.

  • @mateuslidonis
    @mateuslidonis 3 місяці тому

    Is there any kind of usage limit for this API? Can I use and request the google sheets info as many times as I want?

  • @ricardocnunes
    @ricardocnunes 3 роки тому

    What code editor are you using? Thanks

  • @somanathbhat5517
    @somanathbhat5517 3 роки тому

    Is there a way to to add some sort of authentication, so that not everyone can access the spreadsheet API. It would be great if have videos that cover it it or post links that cover it.

    • @getitdonetube
      @getitdonetube  3 роки тому +1

      There is certainly a way, but if you need it done properly, it's really not simple.
      You will need to create your own system of generating and handling JWTs (JSON Web Tokens).
      If you need something simple you can just create a key that you can check if it's valid on request. But this is not safe for serious work, since it's vulnerable to the key being stolen or hacked. I have seen worse solutions though :)

    • @somanathbhat5517
      @somanathbhat5517 3 роки тому

      @@getitdonetube Your video was very clear and helpful. It was exactly what i was looking for. Thank you for the prompt response.

  • @UTJK.
    @UTJK. 3 роки тому

    Why don't you share your code through github?

  • @roktinfast
    @roktinfast 3 роки тому +1

    I can not get this to work. I had some code that communicated with a google sheet, using jsonp. It stopped working a month ago, getting CORS errors. I tried your version, but cant get it to work either. Could you perhaps revisit the subject in a new video, please?

    • @getitdonetube
      @getitdonetube  3 роки тому

      I'm not sure, I've been hearing people telling that this doesn't work forever, yet every time I try it seems to be fine. I can tell you I've just tested one I had done and it works just fine for me today. I find that most of the time when people get CORS errors it's because the script returns an error instead of returning a valid JSON result.
      That being said, the issue here is that browsers auto-update for most people, so Chrome, Firefox or whatever browser you use could introduce some new policies and it may stop working. Not to mention that people also add all sort of extensions to their browsers.

    • @gergelykovacs6577
      @gergelykovacs6577 3 роки тому

      @@getitdonetube Unfortunately It doesn't work for me either. I am producing a nice json output on the server, I can open it in the browser. I get the CORS error, whet trying to fetch from the page. I tried setting options to 'no-cors', and stuff, but it didn't help. The code is exactly like you showed though, with the difference that i am using a separate parameter for the json data output, like: '?v=json' (because i have multiple views). I am a little desperate.

    • @gergelykovacs6577
      @gergelykovacs6577 3 роки тому

      My workaround: I have added fetch(url, {mode: 'no-cors'}) in the function definition, then on the end: .catch(function () {
      console.log("Promise Rejected"); This at least gave me an answer without red errors: 'Promise rejected'. Is there an option to set "Access-Control-Allow-Origin" : "*", on the server side?. I can't get around this.

    • @gergelykovacs6577
      @gergelykovacs6577 3 роки тому

      I can even get the json response with curl , if I am followind redirects with -L flag, ang using exec version , not development version. But the client page still not able to get the response :(

    • @gergelykovacs6577
      @gergelykovacs6577 3 роки тому

      I have even created a new very simple test project putting out a very simple one liner json on the browser. Still doesn't work from client side . Ia am only ale to log errors on the console, which is keep telling me about CORS error, and that 'No Access-Control-Allow-Origin header' is given. I was trying on latest Safari and Brave. Since these are quite quite advanced browsers, it should work with these.

  • @tazulislam2698
    @tazulislam2698 2 роки тому

    Does Anybody knowes how to send 2d array to google sheet?

    • @getitdonetube
      @getitdonetube  2 роки тому

      What is the difference? So long as you know how to work with 2d arrays, just pass them the same way and handle them on the other end.

  • @PhamTienPhong
    @PhamTienPhong Рік тому

    Does it expose all data to the network so anyone with WireShark can read all the data?

    • @getitdonetube
      @getitdonetube  Рік тому +1

      The end point is HTTPS, so it should be encrypted.

    • @PhamTienPhong
      @PhamTienPhong Рік тому

      @@getitdonetube thanks for clarifying.

  • @sudoalex
    @sudoalex 4 роки тому

    You made a typo in your hashtag, you typed josn instead of #json

  • @NickStoneDevelopment
    @NickStoneDevelopment 2 роки тому

    JAVASCRIPT object notation

  • @deepakkoirala2296
    @deepakkoirala2296 Рік тому

    Is this free? Is there a limit?