• Stars
    star
    16
  • Rank 1,311,288 (Top 26 %)
  • Language
    Go
  • License
    BSD 3-Clause "New...
  • Created almost 5 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Go Client Library for Amazon's Product Advertising API 5.0

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