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

Поделиться
HTML-код
  • Опубликовано: 4 дек 2024

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

  • @bang-naim
    @bang-naim 2 года назад +3

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

  • @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

  • @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🙏

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

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

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

    Dude, you're the best. God bless

  • @caizza3
    @caizza3 3 года назад +1

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

  • @66Komodo
    @66Komodo 4 года назад +1

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

  • @sharonwan9813
    @sharonwan9813 3 года назад +1

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

  • @usamanaeem8737
    @usamanaeem8737 6 месяцев назад

    Dude you are brilliant

  • @empaguia
    @empaguia 2 месяца назад

    oh men, I love it this what I am looking for!

  • @sudoalex
    @sudoalex 4 года назад +2

    Thank you very much for doing these videos!

  • @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.

  • @stephankuche5859
    @stephankuche5859 4 года назад +2

    Thanks a lot very helpful .

  • @desenvolvimentonavalcare3846
    @desenvolvimentonavalcare3846 2 года назад +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.

  • @stevepineirov20
    @stevepineirov20 4 года назад +1

    Awesome video’s love them!!

  • @jhicinternational
    @jhicinternational 3 года назад +1

    excellent

  • @soyezcloud
    @soyezcloud 4 года назад +1

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

  • @88gomo88
    @88gomo88 Год назад

    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?

  • @daytodatainc.2520
    @daytodatainc.2520 3 года назад

    Great video!

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

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

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

    Why I did not find this before?! Tks!

  • @NickStoneDevelopment
    @NickStoneDevelopment 3 года назад

    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?

  • @phecdu
    @phecdu 4 года назад

    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

  • @dwadd7528
    @dwadd7528 4 года назад +2

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

    • @getitdonetube
      @getitdonetube  4 года назад +1

      That usually means you have an error in your code.

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

    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?

  • @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.

  • @hamidallahzakarya7224
    @hamidallahzakarya7224 3 года назад +1

    subscribed

  • @philipevangelista3020
    @philipevangelista3020 3 года назад

    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  3 года назад

      Here is all you need ruclips.net/video/P6rxuyNT7Tw/видео.html

  • @karthikpangala9854
    @karthikpangala9854 3 года назад

    Thank you.

  • @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

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

    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

  • @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.

  • @dwburger
    @dwburger 4 года назад

    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  4 года назад

      Watch this ruclips.net/video/flxj-QB50zo/видео.html

  • @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!

  • @ricardocnunes
    @ricardocnunes 3 года назад

    What code editor are you using? Thanks

  • @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.

  • @normanejm
    @normanejm 3 года назад

    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  3 года назад

      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.

  • @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.

  • @somanathbhat5517
    @somanathbhat5517 4 года назад

    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  4 года назад +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 4 года назад

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

  • @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.

  • @UTJK.
    @UTJK. 3 года назад

    Why don't you share your code through github?

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

    Is this free? Is there a limit?

  • @sudoalex
    @sudoalex 4 года назад

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

  • @NickStoneDevelopment
    @NickStoneDevelopment 3 года назад

    JAVASCRIPT object notation