1) Give a description of the problem
I’m having some challenges getting a large “Phase of Day Setting” Piston to the finish line (something about my choice of design or character sets is causing some sort of corruption…I expect it has something to do with the large arrays I’m loading and then processing through nested switches).
I’m completely re-thinking the design and was lamenting not being able to make database calls in place of the arrays. Even if I could just pull keyed records from a spreadsheet, that would be amazing! I started looking at some of the work being done around integrating the Google API’s and specifically writing information to Google Sheets. I assume that if you can write data to a spreadsheet, you can surely read it. However, my excitement is tempered by the realization that all of the genius developers (of which I am neither) on this forum must have already deemed this a dead end. So there’s the question: Has anyone successfully integrated their WebCoRE Pistons with Google Sheets READ API calls?
The development work I’ve seen that allows writing to Google Sheets seems to involve SmartApps that perhaps interact with ST directly, not via WebCoRE. I’m not up for coding my own SmartApp. The WebCoRE + Google API’s I’m seeing appear to focus on maps/traffic. If I have understood correctly (unlikely), the Maps API is a different beast since you’re engaging a public service vs accessing a Sheet on an individual’s Google MyDrive. I think maybe an important difference here is that while the Maps API can be engaged with only an API key, the Google Sheets API would require OAuth??? And if that’s correct, then the next question would be… can you initiate an OAuth authenticated call directly from WebCoRE?
Phew… that’s a long question! If you’re still reading, my apologies!
I did Take a swag at this with just an API Key and got the stiff arm, which loosely supports my current assumption (uneducated guess) that I would need OAuth authentication:
“Error executing external web request: groovyx.net.http.HttpResponseException: Forbidden”