Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

google-ad-manager-api

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

google-ad-manager-api

![Langauge](https://badge.langauge.io/thewizarodofoz/google-ad-manager-api)

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.7K
increased by15.65%
Maintainers
1
Weekly downloads
 
Created
Source

Langauge

Google Ad Manager Node.js API

A modern wrapper around Google's Ad Manager API.

Features

  • Promise based - use Promise or async/await
  • Non opinionated about auth mechanisms - obtain a token however you like
  • Typed (TypeScript)

Install

npm i --save google-ad-manager-api

Usage

Step #1

Obtain an access token in whatever way you like, for example using Google Auth Library's JSON Web Tokens mechanism:

const {auth} = require('google-auth-library');

const keys = {
    "type": "service_account",
    "project_id": "...",
    "private_key_id": "...",
    "private_key": "...",
    "client_email": "...",
    "client_id": "...",
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://oauth2.googleapis.com/token",
    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
    "client_x509_cert_url": "..."
};

const client = auth.fromJSON(keys);
client.scopes = ['https://www.googleapis.com/auth/dfp'];
await client.authorize();

Step #2:

Create a DFP client:

import {DFP} from 'google-ad-manager-api';
const dfp = new DFP({networkCode: '...', apiVersion: 'v201805'});

Step #3

Use the client to create a service, and pass the auth token from step #1:

const lineItemService = await dfp.getService('LineItemService');
lineItemService.setToken(client.credentials.access_token);

Or even shorter (pass the token directly to getService:

const lineItemService = await dfp.getService('LineItemService', client.credentials.access_token);

Step #4

Invoke service methods:

const res = await lineItemService.getLineItemsByStatement({
    filterStatement: {
        query: "WHERE name LIKE 'prebid%'"
    }
});

console.log(res.results[0].id);

Notes

  • The Ad Manager API returns an rval field for each method invocation. To make things easier for us, this package will return the content of that field. For example, invocation of LineItemService.getLineItemsByStatement will return a LineItemPage object directly.
  • Google auth tokens have expiration dates and they need to be updated or refreshed in some way. Because authentication management is outside the scope of this package, make sure to always pass the new tokens to the services instances using service.setToken.

Keywords

FAQs

Package last updated on 24 Aug 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc