# README
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"
"github.com/jybp/ebay"
)
func main() {
cfg := clientcredentials.Config{
ClientID: "your client id",
ClientSecret: "your client secret",
TokenURL: ebay.OAuth20SandboxEndpoint.TokenURL,
Scopes: []string{ebay.ScopeRoot /* your scopes */},
}
ctx := context.Background()
tc := oauth2.NewClient(ctx, ebay.TokenSource(cfg.TokenSource(ctx)))
client := ebay.NewSandboxClient(tc)
// Get an item detail.
result, err := client.Buy.Browse.GetItem(ctx, "v1|123456789012|0")
}
An example for the authorization code grant flow:
import (
"context"
"golang.org/x/oauth2"
"github.com/jybp/ebay"
)
func main() {
cfg := oauth2.Config{
ClientID: "your client id",
ClientSecret: "your client secret",
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. */
ctx := context.Background()
tok, err := cfg.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
- https://github.com/mholt/json-to-go for saving everyone's time.
- https://github.com/google/go-github for their library design.
# Packages
No description provided by the author
# Functions
CheckResponse checks the API response for errors, and returns them if present.
IsError allows to check if err contains specific error codes returned by the eBay API.
NewClient returns a new eBay API client.
NewCustomClient returns a new custom eBay API client.
NewSandboxClient returns a new eBay sandbox API client.
OptBrowseContextualLocation adds the header containing contextualLocation.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
TokenSource returns a new BearerTokenSource.
# Structs
BearerTokenSource forces the type of the token returned by the 'base' TokenSource to 'Bearer'.
BuyAPI regroups the eBay Buy APIs.
Client manages communication with the eBay API.
No description provided by the author
CompactItem represents the "COMPACT" version of an eBay item.
Compatibility represents an item compatibility.
CompatibilityProperty represents a product property.
Error describes one error caused by an eBay API request.
ErrorData describes one or more errors caused by an eBay API request.
Item represents an eBay item.
No description provided by the author
ItemsByGroup represents eBay items by group.
LegacyItem represents the legacy representation of an eBay item.
Search represents the result of an eBay search.
# Type aliases
BrowseService handles communication with the Browse API.
Opt describes functional options for the eBay API.