GitHub - utekaravinash/gopaapi5: Go Client Library for Amazon's Product Advertising API 5.0 (original) (raw)

gopaapi5

Build Status Go Report Card GoDoc Coverage Status

gopaapi5 is a Go client library for accessing the Amazon Product Advertising API 5.0.

Usage

Install package:

go get -u github.com/utekaravinash/gopaapi5

Here's an example for GetBrowseNodes operation:

package main

import ( "fmt" "os"

"github.com/utekaravinash/gopaapi5"
"github.com/utekaravinash/gopaapi5/api"

)

const tmpl = `Id: %s Name: %s

`

func main() {

// Get Access Key, Secret Key and Associate Tag from the environment variables
accessKey := os.Getenv("PA_ACCESS_KEY")
secretKey := os.Getenv("PA_SECRET_KEY")
associateTag := os.Getenv("PA_ASSOCIATE_TAG")

// Initiate gopaapi5 Client
client, err := gopaapi5.NewClient(accessKey, secretKey, associateTag, api.UnitedStates)
if err != nil {
    panic(err)
}

// Construct request parameters for GetBrowseNodes operation
params := api.GetBrowseNodesParams{
    BrowseNodeIds: []string{
        "6960520011",
        "281407",
    },
    Resources: []api.Resource{
        api.BrowseNodesAncestor,
        api.BrowseNodesChildren,
    },
    LanguagesOfPreference: []api.Language{api.EnglishUnitedStates},
}

// Call GetBrowseNodes operation
response, err := client.GetBrowseNodes(context.Background(), &params)
if err != nil {
    panic(err)
}

// Loop over browse nodes in response
for _, node := range response.BrowseNodesResult.BrowseNodes {
    fmt.Printf(tmpl, node.Id, node.DisplayName)
}

}

This client library exposes these operations for Amazon Product Advertising API 5.0 (click on links for their examples):

Use SetHttpClient() method of Client struct to set a custom HTTP client.

Author

Avinash Utekar

License

BSD 3-Clause