# Can I have the user choose to read a Google sheet?

**URL:** <https://community.thunkable.com/t/can-i-have-the-user-choose-to-read-a-google-sheet/1135677>\
**Category:** Questions about Thunkable X\
**Created:** [March 2, 2021, 2:13am UTC](https://community.thunkable.com/t/can-i-have-the-user-choose-to-read-a-google-sheet/1135677 "2021-03-02T02:13:25Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![smsfiercefoxeszmlk1h](https://avatars.discourse-cdn.com/v4/letter/s/53a042/32.png) [@smsfiercefoxeszmlk1h](https://community.thunkable.com/u/smsfiercefoxeszmlk1h)\
**Post date:** [March 2, 2021, 2:13am UTC](https://community.thunkable.com/t/can-i-have-the-user-choose-to-read-a-google-sheet/1135677/1 "2021-03-02T02:13:25Z")

</div>

I have good success reading in data from a Google Sheets data source in Thunkable X. Thank you for that very useful feature!

I’m wondering if a user can tell the app what Google Sheet to read data from. So, for instance, Joe User uses some widget to tell the app to open a Sheet from his Google Drive, and Sue Otheruser can open a Sheet from her Google Drive, and so on. Is there a way to do this?

---

<div class="post-metadata">

**Author:** ![tbcguytb](https://avatars.discourse-cdn.com/v4/letter/t/8baadc/32.png) [@tbcguytb](https://community.thunkable.com/u/tbcguytb)\
**Post date:** [March 9, 2021, 6:45pm UTC](https://community.thunkable.com/t/can-i-have-the-user-choose-to-read-a-google-sheet/1135677/2 "2021-03-09T18:45:40Z")

</div>

I second this question. That way Joe user controls his/her data without other users seeing it.

---

<div class="post-metadata">

**Author:** ![jared](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/jared/32/138473_2.png) [@jared](https://community.thunkable.com/u/jared)\
**Post date:** [March 9, 2021, 7:29pm UTC](https://community.thunkable.com/t/can-i-have-the-user-choose-to-read-a-google-sheet/1135677/3 "2021-03-09T19:29:45Z")

</div>

Yes. Use the google sheet app.

As far as using this as a database, you should have some way to link the user to any given record. Most commonly this will. Be the Firebase userID. That would be a field in the table. The. You filter any records not pertaining to that user in the search and retrieval phase.

---

<div class="post-metadata">

**Author:** ![smsfiercefoxeszmlk1h](https://avatars.discourse-cdn.com/v4/letter/s/53a042/32.png) [@smsfiercefoxeszmlk1h](https://community.thunkable.com/u/smsfiercefoxeszmlk1h)\
**Post date:** [March 13, 2021, 4:24am UTC](https://community.thunkable.com/t/can-i-have-the-user-choose-to-read-a-google-sheet/1135677/5 "2021-03-13T04:24:07Z")

</div>

(Sigh. Tried to edit and accidentally withdrew instead.)

I’ve been thinking about my question some this week, trying to figure out how to execute a project where it might make sense to read a bunch of data from an existing user-owned google sheet. Yes, I know, it’s a weird case, but I’m thinking about importing from a google sheet (user-specified) into the app, so maybe it sort of makes sense. I’m not proposing to store each user’s app-generated data in a different sheet. That’d be silly. 🙂 But as the user, I’d much rather tell the app where to slurp the data from than retype it on my phone, for sure!

There is a Google sheets API, and Thunkable can make an API call. I suspect that means the answer to my question is yes, but you’d have to do a lot of work to make it happen, rather than just adding a data source and using the built in data source blocks. Maybe that’s not worth it.

I haven’t found way to programmatically add a data source using the built-in blocks (without making API calls and parsing json), but if I’m wrong, I’d like to know!

---

<div class="post-metadata">

**Author:** ![ioannis](https://sea1.discourse-cdn.com/flex015/user_avatar/community.thunkable.com/ioannis/32/146956_2.png) [@ioannis](https://community.thunkable.com/u/ioannis)\
**Post date:** [November 8, 2024, 1:29pm UTC](https://community.thunkable.com/t/can-i-have-the-user-choose-to-read-a-google-sheet/1135677/6 "2024-11-08T13:29:08Z")

</div>


