looks like we have to develop our own :disappointe...
# meltano-plugin-development
t
looks like we have to develop our own 😞
r
Hi, I think we arrived at the same conclusion and have plans to develop one on behalf of a customer at some point in the near future. Let me know if you go ahead with this, or if not I can do the same if/when we get round to this ourselves. cc @aaron_phethean
🙏 1
t
Hey @Reuben (Matatika) we started basic work on one today, but we’ve never developed a tap before. Trying to get something very basic a stream for orders a stream for line items and a stream for clicks and impressions on a creative, maybe we would do a stream for advertisers. We looked and the gam API is soap, not rest so I was trying to find something to model it off of. I think we’ll just start with the Google ads tap we saw and try to mash that into something that works for gam. I’ll update you once we get something going
👍 1
r
Yeah, the SDK is great but there is no support for SOAP APIs out-the-box currently: https://github.com/meltano/sdk/issues/220 You might be able to hack it into a
Stream
implementation using the zeep library though... That's where I would start anyway - perhaps you have already done that!
t
Uh oh. This might be outside of our scope then. I had no idea there was no SOAP support. I’d rather not write a little python script to xfer this data, but let’s see how a few hours goes trying to get it to work with Meltano. Thanks for all the pointers!!! Much appreciated!
Oh look at that they released a REST API beta version!!! https://developers.google.com/ad-manager/api/beta/getting-started
👀 1
r
Docs are a bit difficult to navigate but this looks promising: https://developers.google.com/ad-manager/api/beta/reference/rest
👀 1
t
yeah exactly, docs are trash 🙂 but I think we will get a basic version working… @Reuben (Matatika) is there a simple tap we should start with to use as a base? we were planning on tap-googleads but could certainly use anything that has rest and google setup
r
We maintain the default Google Ads tap, but I wouldn't really recommend following it as it is dealing with a whole bunch of GAQL queries - probably a bit confusing if you just want to make more straightforward REST requests. The authentication mechanism will probably be similar though (minus the proxy stuff) - even then,
tap-google-sheets
is probably a better example for that: https://github.com/Matatika/tap-google-sheets/blob/2959c70c07076b1359b5ddde5d62be86b0310b7f/tap_google_sheets/auth.py#L12-L24 Take a look at tap-auth0 - I think that would be a good starting point for how to define schemas and streams. You're probably going to want one schema and stream for each Google Ad Manager REST resource (left-hand sidebar in above link):
networks
and
operations
, and a bunch of child streams for
networks
.
t
amazing! Thank you @Reuben (Matatika)!