The unofficial radiko.jp APIs Client Library for Go
- Go 1.7 or newer
$ go get github.com/yyoshiki41/go-radiko
// 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)
// 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)
}
// 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)
}
It is possible to try examples.
# Get programs data
$ go run ./examples/main.go
# Get & Set auth_token
$ go run ./examples/auth/main.go
- yyoshiki41/radigo - Record a radiko program.
- juntaki/toyotomimi
Licensed under the GPLv3 license for all open source applications.
Please do not use this project for commercial use.
Yoshiki Nakagawa