/gads

Google Adwords API for Go

Primary LanguageGo

gads (Google Adwords Golang SDK)

Package gads provides a wrapper for the Google Adwords SOAP API. Based off of colinmutter/gads, this version was updated to support v201710 and additional functionality that was missing from the current versions.

Note: This repository should be kept public since we are held to the original license.

Installation

	go get github.com/Getsidecar/gads

Usage

The package is comprised of services used to manipulate various adwords structures. To access a service you need to create an gads.Auth and parse it to the service initializer, then can call the service methods on the service object.

     authConf, err := NewCredentialsFromFile("~/creds.json")
     campaignService := gads.NewCampaignService(&authConf.Auth)

     campaigns, totalCount, err := campaignService.Get(
       gads.Selector{
         Fields: []string{
           "Id",
           "Name",
           "Status",
         },
       },
     )

Note: This package is a work-in-progress, and may occasionally make backwards-incompatible changes.

Testing

Sidecar has written integration tests in the sandbox_test.go file. All other tests were included in the original repo and won't run correctly unless you setup the JSON file to gather credentials.

To run the sandbox tests:

aws s3 cp s3://sc-local-env/gads/.env .
set -a
source .env

Then to run the tests:

  1. cd googleads
  2. go test -run Sandbox

Versions

This project currently supports v201710 only. To select the appropriate version, import the specific package:

  import (
    gads "github.com/Getsidecar/gads/v201710"
  )

Original Repo Additional Documentation

Credentials setup

In order to access the API you will need to sign up for an MCC account[1], get a developer token[2] and setup authentication[3]. There is a tool in the setup_oauth2 directory that will help you setup a configuration file.

  1. http://www.google.com/adwords/myclientcenter/
  2. https://developers.google.com/adwords/api/docs/signingup
  3. https://developers.google.com/adwords/api/docs/guides/authentication

Currently, the you need to supply credentials via NewCredentialsFromParams or NewCredentialsFromFile. The credentials can be obtained from the file generated in the previous step.

For example in this CLI script, I am handling a conf file via flags:

go run cli/adgroups_awql.go -oauth ~/auth.json

NOTE: Other examples still need to be updated to support the removal of the built-in oauth configuration file flag.

about

Gads is developed by Edward Middleton

and supported by: