Any plans for a JavaScript library?

982 views
Skip to first unread message

Rasmus Ladekjær Pedersen

unread,
Apr 7, 2014, 3:44:37 PM4/7/14
to adwor...@googlegroups.com
Hi there,

do you have any plans for a JavaScript library?

With all the Node.js going on, I believe we are a lot wanting a JavaScript library for the Google AdWords API.

Danial Klimkin

unread,
Apr 8, 2014, 9:25:41 AM4/8/14
to adwor...@googlegroups.com
Hello Rasmus,


No, we don't have any plans for JS library at the moment.


-Danial, AdWords API Team.

Jerome Wagner

unread,
Aug 28, 2014, 11:49:54 AM8/28/14
to adwor...@googlegroups.com
Hello, 

I understand that my best bet if I want to access the adwords API from node.js is to dig into the old https://code.google.com/p/google-api-adwords-js/ that used to work on the browser and adapt it 
 * for node.js (it seems that goog. has been adapted for node.js in 2013)
 * for the newer v201406 API

how hard do you think that would be ? 

are there any plans to retrofit the adwords API into the google api discovery service so that I could use its node.js client implementation ?

--
Jerome

Danial Klimkin

unread,
Aug 29, 2014, 7:00:31 AM8/29/14
to adwor...@googlegroups.com
Hello Jerome,


There are no current plans for re-working of the AdWords API.

I can't give any estimation on how complex this can be but you can always create a project on github and make it open for other contributors. Questions on node.js are asked on this forum from time to time.


-Danial, AdWords API Team.

Jason Stedman

unread,
Aug 29, 2014, 10:58:51 AM8/29/14
to adwor...@googlegroups.com
Jerome,

Both the API and the JavaScript ecosystem have changed drastically since 2011. I would think you might have a better chance starting over fresh at this point using a node module to integrate with the AdWords SOAP services directly.

This one looks pretty stable and recently maintained : https://github.com/vpulim/node-soap

I have general reservations about node as a platform for running an AdWords integration on. 

It is very typical to have long running operations when working with AdWords and to handle integration of very large datasets which is not something I typically think of as a use case for node. Additionally, an online marketing firm of any size would require things like overnight batch processing, data integration, secondary analytics and unified reports. These are things that have lots of support in more traditional enterprise platforms like Java which already has a client library for AdWords. 

Node is amazing at very high throughput of small messages, but it seems people have lots of headaches any time they want to do heavy, necessarily concurrent processing.

That being said we use node at my day job and have been looking for a reason to get back into coding for AdWords. I would be willing to contribute to an opensource project like this with you. 

Jerome Wagner

unread,
Aug 29, 2014, 11:48:31 AM8/29/14
to adwor...@googlegroups.com
Hello,

by "it seems people have lots of headaches any time they want to do heavy, necessarily concurrent processing" you mean heavy *synchronous* processing ? otherwise can you explain to me a bit more the use case you mention ?

I still don't know if I want to push something google has more or less abandoned for the adwords API ("no plans at the moment since 2011")

Starting from the google code base from 2011 could maybe help such a project become a first class client one day ; at least it seem to have a lot of google code requirements in it (using google closure for example). The fact that it is browser compatible is a + I think even if it is only through a proxy because of crossdomain issues.

It is hard to decide if and how to start such a project while at the same time avoiding the "official javascript client doom", meaning that 

1/ you invest a lot of time and effort into putting up such a non official client 
2/ google decides to publish an official javascript client on its own which has nothing to do with your now "rogue" client
3/ you duplicate lots of efforts and lose energy

I see 2 ways of approaching this while not losing too much time :

 - (1) automatically generate the javascript binding out of the wsdl files ; and then add syntax sugar over this (node-soap could certainly help here)
 - (2) manage to automatically convert the wsdl into a json-schema bindings compatible with https://developers.google.com/discovery/ + add an adapter to the official node client https://github.com/google/google-api-nodejs-client/ so that it can work with the adwords SOAP API.

if (2) hasn't been done it is maybe because there are fundamental differences between the SOAP bindings and what can be expressed via json schema but it is maybe worth a check.

if you have ideas/feedback your are welcome.

I'll post here after I decide if I want to pursue this or not (might take some time since I did not expect the non availability of a javascript client for adwords so I have to reconsider my overall planning and might go with one of the existing clients)

Thanks
Jerome

Jason Stedman

unread,
Aug 29, 2014, 1:56:26 PM8/29/14
to adwor...@googlegroups.com
Let's not turn this into a debate about node, but to provide specific examples of what I refer to:

For some good advice describing the challenges read this stackexchange thread all the way through(it's only 5 posts): http://programmers.stackexchange.com/questions/205232/is-node-js-a-good-fit-for-background-processing

For an example use case that node probably wouldn't be great for, consider a bidding or budgeting algorithm being processed for each campaign, adgroup, placement, device target, location target, keyword, and ad every night for hundreds of accounts, some of them with over 100 campaigns and thousands of keywords. This is necessarily concurrent(likely distributed), otherwise you will never finish in time. It is not necessarily synchronous, that would depend on the algorithm itself, but it will be CPU bound(heavy). 

Jerome Wagner

unread,
Aug 29, 2014, 2:01:10 PM8/29/14
to adwor...@googlegroups.com
OK thanks for the input. "CPU bound" can indeed be a difficulty here.

Thanks for the link.

Erik Evenson

unread,
Nov 23, 2015, 7:51:49 PM11/23/15
to AdWords API Forum
For what it is worth, I am the author of an unofficial node.js client library at https://www.npmjs.com/package/googleads-node-lib.  It is getting closer to a full feature set every day.  Pull requests are welcome.

Best,

Erik
Reply all
Reply to author
Forward
0 new messages