Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tomayac/adwords-reports-nodejs-lib
The project adwords-reports-nodejs-lib provides a simple AdWords reporting library for pulling ad hoc reports described in the AdWords Query Lanaguage (AWQL) directly from the AdWords API.
https://github.com/tomayac/adwords-reports-nodejs-lib
adwords adwords-api adwords-query-lanaguage awql
Last synced: 2 months ago
JSON representation
The project adwords-reports-nodejs-lib provides a simple AdWords reporting library for pulling ad hoc reports described in the AdWords Query Lanaguage (AWQL) directly from the AdWords API.
- Host: GitHub
- URL: https://github.com/tomayac/adwords-reports-nodejs-lib
- Owner: tomayac
- License: apache-2.0
- Created: 2016-07-21T12:45:28.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-02-05T21:38:29.000Z (almost 5 years ago)
- Last Synced: 2024-09-24T09:11:50.198Z (3 months ago)
- Topics: adwords, adwords-api, adwords-query-lanaguage, awql
- Language: JavaScript
- Size: 38.1 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## AdWords Reports Node.js Library
The project ```adwords-reports-nodejs-lib``` provides a simple AdWords reporting
library for pulling ad hoc [reports](https://developers.google.com/adwords/api/docs/guides/reporting)
described in the AdWords Query Lanaguage
([AWQL](https://developers.google.com/adwords/api/docs/guides/awql#adhoc-reports))
directly from the [AdWords API](https://developers.google.com/adwords/api/docs/guides/start).# Installation
If you haven’t already, first, install [Node.js](https://nodejs.org/en/) for your
platform of choice (macOS, Windows, UNIX-like). For macOS and Windows,
just use the particular downloadable installers,
for UNIX-like systems, the easiest may be to install the Node Version Manager
([nvm](https://github.com/creationix/nvm#install-script)),
and then have nvm install Node.js via ```nvm install node```.With Node.js comes the Node Package Manager ([npm](https://www.npmjs.com/))
that serves for managing projects and their dependencies.
In an empty folder, initialize a new project via ```npm init``` and follow npm’s initialization wizard.
You can then install the ```adwords-reports-nodejs-lib``` library as a new dependency
of your freshly created project with the npm command below.```bash
>$ npm install --save adwords-reports-nodejs-lib
```# Requirements
In order to use the library you will need:
- **AdWords API Developer Token:** This token can be obtained by
[signing up for access](https://developers.google.com/adwords/api/docs/guides/signup).
- **Client ID and Client Secret:**
[Create a project](https://developers.google.com/adwords/api/docs/guides/first-api-call#set_up_oauth2_authentication)
in the Developer Console to obtain these.During first use, you will be prompted to create a hidden ```.env``` file into
which these three required values should be placed,
as well as a custom password that serves for encrypting your authentication details.# Usage
Upon the first run, the library will guide you through the necessary
[OAuth](https://developers.google.com/adwords/api/docs/guides/authentication)
authentication steps. This is a one-time process,
the library automatically takes care of refreshing expired authentication tokens.
The library is [Promise](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise)-based
and can be used as outlined in the example below.```javascript
const adwords = require('adwords-reports-nodejs-lib');// Options are optional and can be omitted
const options = {
format: 'TSV',
skipReportHeader: true,
skipColumnHeader: true,
skipReportSummary: true,
useRawEnumValues: true,
includeZeroImpressions: true
};
adwords.getReport({
cid: '123-456-7890',
awql: 'SELECT Criteria, Clicks FROM KEYWORDS_PERFORMANCE_REPORT DURING TODAY'
}, options)
.then(data => {
console.log(data);
})
.catch(err => {
console.error(err);
});
```# License
Copyright 2017 Thomas Steiner (@tomayac, [email protected])
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under
the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the License for the specific language governing permissions
and limitations under the License.[![NPM](https://nodei.co/npm/adwords-reports-nodejs-lib.png?downloads=true)](https://nodei.co/npm/adwords-reports-nodejs-lib/)