Skip to content
forked from mitchellh/go-bnet

Go (golang) client for the Battle.net API

License

Notifications You must be signed in to change notification settings

nmccrory/go-bnet

 
 

Repository files navigation

go-bnet

go-bnet is a Go client library for accessing the Battle.net API. In addition to providing an API client, this package provides OAuth endpoints.

Documentation: GoDoc

Build Status: Build Status

API Coverage: Currently only the account and profile information APIs are implemented. However, the base helpers are there to easily and quickly implement any other APIs such as the WoW or SC2 data.

Usage

import "github.com/mitchellh/go-bnet"

Authentication

Authenticate using the Go OAuth2 library. Endpoints are provided via the Endpoint function. A guide to using OAuth2 to authenticate is available in this blog post. The blog post uses GitHub as an example but it is almost identical for Battle.net and this library.

Battle.net endpoints are region-specific, so specify the region to the Endpoint function and use the resulting value. Example:

oauthCfg := &oauth2.Config{
    // Get from dev.battle.net
    ClientID:     "",
    ClientSecret: "",

    // Endpoint from this library
    Endpoint: bnet.Endpoint("us"),
}

Once you have access to the OAuth client, you can import and initilize one of the Battle.net API clients:

// Token from prior auth
authClient := oauthCfg.Client(oauth2.NoContext, token)

// Initialize the Battle.net Profile API client
client := profile.NewClient("us", authClient)

// ... API calls

API Calls

Once a client is made, basic API calls can easliy be made:

user, resp, err := client.Account().User()
fmt.Printf("User: %#v", user)

All API calls return a *Response value in addition to a richer type and error. The response contains the http.Response as well as metadata such as quotas, QPS, etc. from Battle.net

About

Go (golang) client for the Battle.net API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%