Skip to content

yyoshiki41/go-radiko

Folders and files

NameName
Last commit message
Last commit date
Jul 22, 2017
Jan 18, 2018
Nov 12, 2016
Nov 3, 2016
Nov 9, 2016
Nov 2, 2016
Jan 18, 2018
Jul 22, 2017
Nov 8, 2016
Nov 9, 2016
Jul 20, 2017
Oct 24, 2017
Dec 14, 2016
Oct 24, 2017
Nov 23, 2016
Nov 20, 2016
Dec 10, 2016
Dec 1, 2016
Nov 26, 2016
Jul 22, 2017
Oct 24, 2017
Dec 1, 2016
Oct 24, 2017
Dec 10, 2016
Dec 10, 2016
Jan 18, 2018
Dec 10, 2016
Dec 10, 2016

Repository files navigation

Go Radiko

godoc build codecov go report

The unofficial radiko.jp APIs Client Library for Go

Installation

  • Go 1.7 or newer
$ go get github.com/yyoshiki41/go-radiko

Usage

■ Default

// authentication token is not necessary.
client, err := radiko.New("")
if err != nil {
	panic(err)
}
// Get programs data
stations, err := client.GetNowPrograms(context.Background())
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%v", stations)

■ Get & Set authentication token

// 1. Create a new Client.
client, err := radiko.New("")
if err != nil {
	panic(err)
}

// 2. Enables and sets the auth_token.
// After client.AuthorizeToken() has succeeded,
// the client has the enabled auth_token internally.
authToken, err := client.AuthorizeToken(context.Background(), authKeyPath)
if err != nil {
	log.Fatal(err)
}

Premium member (Enable to use the area free.)

// 1. Create a new Client.
client, err := radiko.New("")
if err != nil {
	panic(err)
}

// 2. Login as the premium member
// After client.Login() has succeeded,
// the client has the valid cookie internally.
ctx := context.Background()
login, err := client.Login(ctx, "example@mail.com", "example_password")
if err != nil {
	log.Fatal(err)
}
if login.StatusCode() != 200 {
	log.Fatalf("Failed to login premium member.\nInvalid status code: %d",
		login.StatusCode())
}

// 3. Enables and sets the auth_token.
// After client.AuthorizeToken() has succeeded,
// the client has the enabled auth_token internally.
authToken, err := client.AuthorizeToken(context.Background(), authKeyPath)
if err != nil {
	log.Fatal(err)
}

■ Use your authentication token

// If the auth_token is cached, set your token in HTTP Header like below.
client, err = radiko.New("auth_token")
if err != nil {
	panic(err)
}

Examples

It is possible to try examples.

# Get programs data
$ go run ./examples/main.go
# Get & Set auth_token
$ go run ./examples/auth/main.go

Projects using go-radiko

License


The MIT License

Author

Yoshiki Nakagawa