I work for a Texas school district, and I have been challenged by the teachers to see if I can create a glide app that replaces a library cataloguing app they used that is no longer working. They are required to have a detailed list of all library books they have available to their students, so this app is fairly important for them.
The idea is that they have a screen in the app where there list of books is located and they have an ‘Add’ feature. The screen to add a book will have an option to input the ISBN which they can manually type in or use a scanner tool they have. After input, I want them to hit a Search button that finds the book title and author from a 3rd party database which I have an API key for. The returned title and author fill into the text fields for each of them (see attached screenshot), then they can complete the remaining fields manually and add it to their list.
My problem is that I have no clue how to implement that API to do what I need it to do… I’m assuming it will be some sort of JSON feature to use the API, but I’m clueless on how to do that in Glide so any help is appreciated! I’m also open to other suggestions to accomplish what I need!
I found a workaround. I have the add screen send the ISBN to a google sheet where I wrote an Apps Script with a trigger to call the API whenever a new ISBN lands and then populate the title and author before syncing back to Glide.
I tried using my Google Books API, but due to what I believe are limitations with Apps Script, the API call would fail because my location couldn’t be verified. The API Key should be the verification tool, and the API works when I manually input the ISBN and key into the URL, but not through Apps Script.
I ended up using the Open Library generic API call which ended up working well with the Apps Script. Although not my first choice…
Thank you for posting the screenshots! I have been hesitant on using JSON and didn’t realize there was a javascript option for me. I was able to copy your method and tweak it to my needs and it works perfectly! Thank you so much!