If you want to discuss, I implement something similar in my project, but with a service rather than a datasource to handle google api connection (may be i am wrong, and your approach is better, but it's working)
You can have a view
here in Tournament model (but there is no readme yet, so feel free to ask more information)
I also make a quick exemple of connecting to google apis
here (not totally related to loopback, only use it for demo purpose, but you can re-use some part)
Maybe it is not the answer you ask, but if it can make what you want to do possible, it will be fine