Hey everyone, a few thoughts here :
I’d recommend to steer clear of OAuth2 if you have limited experience with web & no desire to go down a deep rabbit hole. You’ll be getting expiring tokens and all sorts of issues. Personally, i find Google’s APIs quite nasty to work with.
There’s a few people around that have used DynaSlack for precisely this, see here by @Jesper_Wallaert & here by @Martin_Romby. Having caught up with them at BiLT, I found out you can export all data from a slack channel out to CSV, so @Jesper_Wallaert is parsing that into charts. Flow is DynaSlack > Slack (muted channel) > CSV export > PowerBI/whatevs. I’m sure they’ll happily chime in with more guidance, some real nice work there !
3. Google Analytics
If you can set up a simple page on a server, you could use the built-in
Web.Request node to fetch a specific URL, appending URL parameters to it or simply building up the URL. You would do both those on the Dynamo side with simple string operations. On that page, you’d have Google Analytics set up, so all you have to do to get charts is pass some data to it. I imagine you could even host that HTML page with GitHub static pages ? there’s a thought…
URL : http://your-server-here.com/dynamoLibrary/standards/modelCheck.dyn
parameters : http://your-server-here.com/dynamoLog.html?dyn=MyScript.dyn&user=Radu&date=231017
If you can set up a server/service, you could use the DynaWeb package (shameless plug, I made it) to send very specific web requests to a service. For example, you could add a row to a Google Sheets, send a request to Zapier, insert a row in a database that has a REST service etc etc, I’m sure there’s enough services out there that offer analytics as a service using webhooks/URLs/REST (check out Keen.io, but you could also use Google Analytics API directly). You can also use this to set up idea #1 or #3 if you want better control of all that.
5. Python route
You can’t make use of the
requests library in IronPython so it’ll have to be something else or vanilla IronPython, there’s plenty of code out there on how to call/get a URL, so you can use this to implement any of the above. maybe @Gui_Talarico or some other Python-savvy folk can help here, i’m not into it.
Hope the above helps or at least provides some discussion points