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.
go get github.com/Getsidecar/gads
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.
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:
cp .env.dist .env
and fill in the credentialsset -a
source .env
Then to run the tests:
cd v201710
go test -run Sandbox
This project currently supports v201710 only. To select the appropriate version, import the specific package:
import (
gads "github.com/Getsidecar/gads/v201710"
)
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.
- http://www.google.com/adwords/myclientcenter/
- https://developers.google.com/adwords/api/docs/signingup
- 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.
Gads is developed by Edward Middleton
and supported by: