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.
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:
aws s3 cp s3://sc-local-env/gads/.env .
set -a
source .env
Then to run the tests:
cd googleads
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: