2019-08-18 22:46:01 +02:00
2019-08-15 13:30:14 +02:00
2019-08-18 22:46:01 +02:00
2019-08-18 21:56:54 +02:00
2019-08-15 22:05:50 +02:00
2019-08-15 22:05:50 +02:00
2019-08-17 15:05:34 +02:00
2019-08-17 18:59:50 +02:00
2019-08-18 22:46:01 +02:00

ebay

ebay is a Go client library for accessing the eBay API.

Usage

Create a new eBay API client using the New... functions to access the eBay API:

client := ebay.NewClient(nil)
// Search for iphones or ipads sorted by price in ascending order.
search, err := client.Buy.Browse.Search(context.Background(), ebay.OptBrowseSearch("iphone ipad"), ebay.OptBrowseSearchSort("price"))

Authentication

The ebay library does not directly handle authentication. Instead, when creating a new client, pass an http.Client that can handle authentication for you.

A TokenSource function is provided if you are using golang.org/x/oauth2. It overrides the token type to Bearer so your requests won't fail.

An example for the client credentials grant flow:

import (
    "context"
    "golang.org/x/oauth2"
	"golang.org/x/oauth2/clientcredentials"
)

func main() {
	cfg := clientcredentials.Config{
		ClientID:     "your client id",
		ClientSecret: "your client secret",
		TokenURL:     ebay.OAuth20SandboxEndpoint.TokenURL,
		Scopes:       []string{ebay.ScopeRoot /* your scopes */},
    }
    tc := oauth2.NewClient(context.Background(), ebay.TokenSource(cfg.TokenSource(ctx)))
    client := ebay.NewSandboxClient(tc)

    // Get an item detail.
    result, err := client.Buy.Browse.GetItem(context.Background(), "v1|123456789012|0")
}

An example for the authorization code grant flow:

import (
    "context"
    "golang.org/x/oauth2"
	"golang.org/x/oauth2/clientcredentials"
)

func main() {
    cfg := oauth2.Config{
		ClientID:     "your client id",
		ClientSecret: "your client id",
		Endpoint:     ebay.OAuth20SandboxEndpoint,
		RedirectURL:  "your eBay Redirect URL name (RuName)",
		Scopes:       []string{ebay.ScopeBuyOfferAuction /* your scopes */},
	}

	url := cfg.AuthCodeURL(state)
    fmt.Printf("Visit the URL: %v\n", url)
    
	var authCode string /* Retrieve the authorization code. */

	tok, err := oauthConf.Exchange(ctx, authCode)
	if err != nil {
		panic(err)
	}
	client := ebay.NewSandboxClient(oauth2.NewClient(ctx, ebay.TokenSource(cfg.TokenSource(ctx, tok))))

    // Get bidding for the authenticated user.
    bidding, err := client.Buy.Offer.GetBidding(ctx, "v1|123456789012|0", ebay.BuyMarketplaceUSA)
}

Support

Currently, only some Buy APIs are supported:

API Resource
Browse item_summary
Browse item
Offer bidding

Documentation

https://godoc.org/github.com/jybp/ebay

Thanks

Description
Go library for accessing the eBay API
Readme 74 KiB
Languages
Go 99.7%
Makefile 0.3%