I want to make an online database that my game’s moderators have access to read along with some discrete privileges to edit. I would want it to be in the same format of a Google spreadsheet, as shown below:
I would ideally want columns A-O unable to be changed by people with access to the spreadsheet, but still able to be changed by an in-game script. I don’t quite know if this is able to be done, and I have attempted to look at some Google spreadsheet API as well as solutions on the devforum, but I’m not sure if they fit what I’m trying to achieve here. To be honest, I don’t even really know where to begin, even though I have delved a bit into web API before.
Would you have it so your moderators would access this spreadsheet in-game or through the google spreadsheets?
If you’re going to do this in-game, then the best thing to do is something with DataStore and MessageService. Datastore would store report information while MessageService would broadcast to all servers to notify mods that a report has been created
If you’re going to do this through google spreadsheets then you just gotta use HttpService and find some way to edit it through the limitations of ROBLOX’s HttpService.
The moderators would be able to access it online, not through the game. I considered doing it the way you mentioned with MessageService, but I want it to be extremely convenient for my mods to check reports (rather than having to load up Roblox, navigate to the game, and launch it each time).
I tried using that first link a few days ago and was moderately successful with configuring the API, but I couldn’t get it to change the information on specific columns. I could look into it more, though, if nothing else works.
And thanks for the advice on the Google sheets, very useful.
Listen carefully and hear me out. Do not use Google Spreadsheets as a database. It’s not designed to act as a database nor is it a valid replacement for any current standing databases out there.
Luckily, Google has a database service that’s called, “Firebase” and is NoSQL. The entire interface is web-based and is incredibly power with a short learning curve. There’s also an API someone made on Roblox that allows you to interface with it.
Other options like SQLite, PostgreSQL or MySQL will require a RESTful API in order for Roblox to interact with it (utilizing HttpService). Whilst these options are considered industry-standard, it requires that you host your application on a server and for you to understand complex fundamentals like auth, etc which many may find tedious to say the least. However, this gives you, as the developer, a far more powerful toolchain which may have its worth.
For future reference, do not use Google Spreadsheets for this purpose. A lot of people on this forum will bash you over it.
As I stated before, it’s misuse. Firebase is used widely (mostly for mobile applications) but, seen as your game or project may be small, it’s a near-perfect candidate and scales based on your use.
Seen as money doesn’t grow on trees, I’d strongly suggest it. Plus, you’d get experience in an area that most employers would love to see.
There’s nothing wrong with using Google Sheets for this purpose. The service is underpinned by a database, probably built in a similar way to Firebase. Really, the difference is how you interface with that database.
Now, that’s by no means a way of me saying that Firebase is not superior, just that Google Sheets is a valid solution to the user’s problem.