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

  • @jamesgrimshaw
    @jamesgrimshaw 11 месяцев назад +15

    Building something at the moment where I need to read from a Google Sheet... I'm back here reminding myself how to do it 😂

    • @AxelFerrer-sw4xs
      @AxelFerrer-sw4xs 10 месяцев назад

      Hi James, if i update a cell, will it show in edit history of the individual cell? I'm looking for a way to edit a cell without it showing in the edit history.

    • @quinojuan2
      @quinojuan2 8 месяцев назад

      🤣

  • @sauloferreiradossantos8158
    @sauloferreiradossantos8158 3 года назад +11

    Thanks a lot man, you saved me here, I was requested to do a simple database using sheets API but the google documentation is awful,your explanation is very good, congrats!

  • @htmlfivedev
    @htmlfivedev 2 года назад +10

    THANK YOU ... FINALLY, SOMEONE SPEAKING CLEAR ENGLISH HAS MADE A TUTORIAL ON THIS TOPIC THAT TRULY HELPS ... THANK YOU !!

  • @TraumaMedia
    @TraumaMedia 3 года назад +3

    Thank you for making this. My website was using v3 and it just got deprecated this month and I was totally lost with how to read a google sheet with the v4 api. This was a life saver. Thank you!

  • @BrandonClapp
    @BrandonClapp 3 года назад +7

    Thanks for sharing. I was thinking about doing this for my mailing list, where spinning up a PostgreSQL database just for this seemed overkill. I didn't expect it to be this involved, so I'm really glad you put this together.

  • @a.alharasis
    @a.alharasis 3 года назад +7

    Thanks for the great explanation, quick note:
    you don't need to use auth in the options every time you are using googleSheets, because you already pass it in the start (when you set google sheet version and auth)

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

    I tried some tutorial on the internet and fail. Then I find yours :). Thank you so much!

  • @t-damer
    @t-damer 3 года назад +2

    Oh thank you, man 🙏
    I've been trying to do a similar thing for three days, almost gave up and tried googling for such a video, and there you, thanks again 💪

  • @mohammadyusuf37
    @mohammadyusuf37 3 года назад +5

    Thank you for such a great, crisp tutorial. This should be the goto place instead of the docs.

  • @generalpompeyo
    @generalpompeyo Год назад +2

    Great tutorial, thanks !
    Worth mentioning : googleapis ONLY works on the server side. This will not work in a client side application like React or Vue alone.

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

    I have been looking for a tutorial on how to do this for a couple months. This is the best-explained one I have come across. Thank you! I have now subscribed :)

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

      Wow thanks so much! More videos coming soon :)

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

    Thank you, you are a savior. I was given a test related to google sheet connector for my first dev role interview process and successfully completed because of you. Thanks a lot for creating this.

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

    bruh... literally what I was looking for. Thank you for making this complicated subject easy to understand.

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

    Awesome video! Sad to see that you stopped making more videos.

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

    You made this and the website it is about and haven't made a video since 😞...... you are a good teacher...

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

    Thanks for this! I was bouncing around reading the docs for way too long!

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

    This was exactly what I needed Lol Thank you so much!! Great video!!

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

      So glad you found it useful! :)

  • @keithpowell6564
    @keithpowell6564 3 года назад +4

    Thanks for the tutorial, James. There isn't a lot of solid tutorial content surrounding the Sheets API and Node.js but yours is spot on. Do you have the link to your blog in which you take a deeper dive into working with Google Sheets API? Also - ever think about teaching a Udemy course on the subject?

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

      I never got around to writing a blog post on this! I want to make more videos and maybe courses in the future though

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

    Thank you for this great content. Unfortunately I'm experiencing difficulties implementing this. I have a basic form set up with react and nodemailer which works fine but sending the data to Google sheets returned an error: invalid credentials. Pls how do I fix this

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

    Thank you so much for this tutorial.
    it's perfect for me because I'm working with express and google sheets API.

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

    Clean, Clear, and Concise. Bravo!

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

    You are awesome. This was just what I was looking for!

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

    Good video, I was reading the Google Sheet API and I don't undertand but I can

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

    best explanation I've ever seen

  • @iBen-ry6pj
    @iBen-ry6pj 9 месяцев назад

    Quite a handful of instructions. I think is a lot easier to just create a google app script to handle the CRUD operations on google sheets. That way you only need the deployment url in your nodejs to initiate reads and writes.
    Thanks though, it was very informative!

  • @MarcoS-bx5uk
    @MarcoS-bx5uk 2 года назад

    This is great, James, it served me perfectly. Thank you.

  • @smilyking6595
    @smilyking6595 3 года назад +3

    First of all, thank you for your video, it helped me alot!
    Sadly I have an issue with my authentification. When I try to start the server/ refresh the server at the point of minute 13 and reload the Website in my browser, the site can not load. In VS Code I get an error.
    message: ‘Invalid Credentials’,
    domain: ‘global’,
    reason: ‘authError’,
    location: ‘Authorization’,
    locationType: ‘header’
    Unfortunately I have no clue where and what went wrong. My Code looks identical. Maybe you or some else can help me out.
    Thank you in advance!
    And greetings from germany
    Malte

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

    Great tutorial on working with Google sheet api , that is get starter for everyone. Thnx

  • @jean-louisgouwy
    @jean-louisgouwy 2 года назад +1

    You helped me a lot. Thx
    Little question, I just created a new google spread sheet.
    I received my 200, but it seems that only the "account service" from the api key has an access to it. Which is weird because my main account is responsible of the account service. Any idea ?

    • @jean-louisgouwy
      @jean-louisgouwy 2 года назад

      For those who wonder the same question : you need to use the GDrive Api. After creating the file with account service, you need to use : developers.google.com/drive/api/v3/reference/permissions/create
      ```
      const result = await googleSheets.spreadsheets.create(params);
      const fileId = result.data.spreadsheetId;
      drive = google.drive({ version: "v3", auth });
      const res = await drive.permissions.create({
      resource: {
      type: "user",
      //role: "owner",
      role: "writer",
      emailAddress: "xxxx" // Set the email address you want to give the permission.
      },
      fileId: fileId,
      fields: "id",
      //transferOwnership: true,
      });
      ```
      Still have an issue with ownership that i need to fix with the above code : Consent is required to transfer ownership of a file to another user.

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

    u save my day!! that a really wonderful tutorial

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

    great video and content. love the teaching style keep the good work up man.

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

    That’s a great tutorial regarding Google Sheets API. Your explanation is decent and very detailed. Could you make a video how to sync Google sheets with Next.js?

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

    Simple to the point...
    Do you have any tutorial on google fit api?...

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

    This is so great. Thank you.
    As long as I know adding Reactjs to this should not be a big deal isn't it?

    • @jamesgrimshaw
      @jamesgrimshaw 11 месяцев назад +1

      Convert the node.js app to an API, and then use fetch calls to integrate with a React.js app. Should be straightforward :)

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

    Thanks a lot!
    This seems like exactly what I've been trying to make.
    Just trying to figure out how to make it work on a website next.
    I guess at least I have to secure the credentials file somehow...

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

    8:15 when i do "nodemon index.js" it tells me that "nodemon" is an unknown command, even though i installed the package. what's going on?

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

    This is a very very beautiful tutorial! Very detailed… 🙏🏽

  • @pjc825
    @pjc825 Год назад +1

    Great video, thanks for making this so simp😀le compared to most other videos available on RUclips 👍

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

    One tip for you, since you share tips with us :-) npm init -y will initialize project folder with default values for you

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

    Great explanation, pretty much got all i need to know. Thanks :)

  • @JuanCastro-uf6er
    @JuanCastro-uf6er 3 года назад +3

    thnks a lot, this video is really helpful.

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

    Thanks for this great tutorial, James.

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

    Very good video clear and sharp! A little question though , any idea how to delete a row with the API ? Thanks in advance.

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

    Just found out the channel, thank you keep it brother great content and flow cheers

  • @samandaryusupov6134
    @samandaryusupov6134 8 месяцев назад

    THANK YOU VEEEERRRRYYY MUCH. you are the best. i am so glad i found this vid

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

    Thank you, the tutorial is nicely done. :D

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

    Thanks Sir, Really helpful and the way explained is awsome.

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

    Neat idea! Imma take some notes 📖

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

    thank you. there should be a free no-code app to recreate this particular scenario. Custo form submitted to google sheets and read from google sheets a render as HTML.. this would cover 90% of every small business needs.

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

    Real nice and concise tutorial! Thanks man.
    I was wondering however; how it is possible to make this more modular and make the spreadsheetId dependant on the user input - which ofcourse brings us to the following point; having the right read/write permissions on the spreadsheet.

    • @whatyoumissed9994
      @whatyoumissed9994 10 месяцев назад

      yes check alternative video from neuralnine but in python

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

    This video is exactly what I needed, thaks )

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

    Hey man! Insane tutorial thanks you ! Same a lot of time

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

    Thanks for the video @James
    Can I get the details about integrating the same from react ?

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

    I wonder when you deploy your app. So other users can have the right to write into google sheet ?. Thanks

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

    Nice Video! Please tell me, how i can read the values in sheets and use with aplications to for example show in div?

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

    Thank you! Very helpful and informative.

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

    Dotenv module will be helpful to hide credentials details.
    Very Helpful... Thanks for sharing

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

    Beautifully Explained!! Thanks

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

    Great tutorial, thank you! I’m wondering how to handle credentials.json? I guess you won’t commit it to the git so how would you provide this file for a deployment eg Heroku?

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

    Hi, I know it was a long time ago, but... Is it free for commercial usage?

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

    producer's version? I just want to make sure I get the right one for .

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

    gj creating a video on this. you saved me some time. ty sir

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

    Thank you. Wish you would have explained Express

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

    I really like your vscode setup. How did you get the arrow shape on your terminal ?

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

      My terminal is like that because of something called ohmyzsh. I think the plugin was called Powerlevel10k

  • @GeorgeGeorge-ve6il
    @GeorgeGeorge-ve6il 3 года назад +3

    Hi James,
    This was really helpful. there is such limited resources for the Google Sheet Integration and most of time I get a road block after following some.
    but with this tutorial, you were able to explain things in a easy to understand manner.
    Could you do a CRUD Html table example for this?

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

    hey james...Thanks for the video but what if iam creating the spread sheet through a api call and i need to grand the permission for the service account. For me it is not possible to share the permission manually cause im creating the spread sheet through api call itself

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

    This actually saved me. Thanks bor.

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

    Another question about namedrange, they are listed in your Metadata variable but how to create a new one from the API ?

  • @Jonas-sg1eo
    @Jonas-sg1eo 2 года назад

    I only have ones question how to install googleapis on server ? is there are import link or something to import on index.html ?

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

    Awesome. Thanks a lot.
    I have a question.
    If I have to update a specific row, would I have to read the entire sheet to then know the position of the row that I have to update? or is there some other way?

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

      Well in order to update a specific row, you will need to know the row number, which you can then specify as part of the range, using the "update" function rather than append, which works in the same way but the function is called update rather than append. For example, if the row you want to update is row 7, you would use append like in the video but set the range as "Sheet1!A7:B7", or whatever column range you want to use (B7:C7 or A7:D7, etc.)
      Hope this helps, thanks for watching!

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

    please make something about passport js ur explanation is really top notch

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

      The next series will be an authentication series!

  • @misterl8129
    @misterl8129 8 месяцев назад

    Hi! Great video. It worked for me. I have a question tho.
    The read of the csv WORKS just if I have a csv with just 1 sheet.
    I have another with 3 sheets and when i Try to get the values says
    errors: [
    {
    message: 'This operation is not supported for this document',
    domain: 'global',
    reason: 'failedPrecondition'
    }
    ]
    what could it be?

    • @misterl8129
      @misterl8129 8 месяцев назад

      Nevermind. I diplucated the file, get that id and work. Weird tho

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

    рахмет, Жеміс

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

    Is there any way to read from a spreadsheet and use the data on the spreadsheet to input information on fields on a website to automate boring work?

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

    Wow, thanks for the tutorial!

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

    Hello! So I am trying to make it so that this specific index.js file that handles the sending of data to the google sheets, is called by another normal .js file
    question is, how I will pass data to it and have it get triggered by a specific event, to go an append the data, to my google sheets? without using the .ejs button that you have created

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

    Perfect, you saved me. THANK YOU

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

    @James I want to append a json object with it's values to google sheet using append. How can I do that? The rest is working fine. The only issue is I want to pass the json values be pasted in seperate columns, right now whole json object is being written to only one row as a whole.

  • @ИкболжонИсаков-п7д
    @ИкболжонИсаков-п7д 3 года назад

    Very good tutorial! Thank you.

  • @a.hassoun9139
    @a.hassoun9139 2 года назад

    Thank you for the great explanation.
    How can i do the same using Javascript?
    I’m working on a chrome extension and node js is a bit tricky there

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

      Have you ever figured this out?

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

    Was hoping this would be on the google-spreadsheet npm module, but to achieve your original goal you could have created a Google form and have the results appear in a sheet.

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

      Very true, but I wanted to mess around with the API directly for more complex use cases in the future. Form was just a good starter example

  • @drvision-xz7ui
    @drvision-xz7ui Год назад

    Best video. Working very well for me

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

    thank you so much. it's very helpful

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

    This is too much power... really well done video! No complaints here, everything worked as you described, but maybe if you elaborated on more than just appending / reading, that would've been nice.

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

      Thanks so much for the kind words! In hindsight, I wish I had spent more time on the actual Google Sheets API rather than the demo application - I wanted to keep the video as short as possible, so I only demonstrated the features I actually found useful in the API. I am going to write a blog post on this soon, and will make sure it demonstrates more capabilities of the API!

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

    Hello, how can you make a FOR loop with 2 columns, for example phone number and message to send?

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

    Thanks! Awesome explanation!

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

    How would I go about deleting the second row and moving every row below it up? Is that feasible?

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

    Bro I am Missing your videos, I subscribed you with hope

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

    Thanks for the tutorial!
    How should we hide the credentials while also serving them to the nodejs file?

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

      by using .env ruclips.net/video/5WFyhsnU4Ik/видео.html&ab_channel=SteveGriffith-Prof3ssorSt3v3

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

    Thanks a lot! Great video

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

    Isn't keeping the credentials.json in the code base not a good practice. Is there an alternative way of authenticating?

  • @estrellademar6937
    @estrellademar6937 18 дней назад

    Thaank you sooo much!!

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

    Can we upload files on Google sheet from registation form when user upload it

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

    When I run i in my local machine it's working well, but i sent it to git hub and published with github pages. But it isn't working online, I don't know why. The pages redirect to an error: 405 Not Allowed
    And I receive a console error that says.
    POST ... 405

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

    hey mate... i was trying to create an app to allow users to edit their sheets itslef. how can i do that?

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

    Hello. I want to congratulate you for showing this content, I followed all the steps in this video, and everything works fine, only my form is bigger and it gives me an error when saving, it only saves one field, the rest does not save, it has an email where i can write you and share the code

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

    The metaData variable isn't working for me. I think it is to do with the spreadsheet Id but I have already given the bot access to the spreadsheet so I am not sure what's up with it

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

    Thank You! Great job!

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

    can be all new column and update the entere value later?

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

    Hi There, great tutorial first of all.
    However when i try to hit the api from client side, i get cors error.
    I have put below in nodejs api which you have provided"
    app.use((req, res, next) => {
    res.setHeader("Access-Control-Allow-Origin", "*");
    res.header(
    "Access-Control-Allow-Headers",
    "Origin, X-Requested-With, Content-Type, Accept"
    );
    next();
    });
    still i get cors.
    what will be the solution for this?

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

      use a package called cors
      npm install cors
      And in your codebase,
      const cors = require("cors")
      app.use(cors())