package
module
Version:
v1.2.0
Opens a new window with list of versions in this module.
Published: Feb 13, 2024
License: MIT
Opens a new window with license information.
Imports: 0
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
¶
go-esa

Unofficial esa SDK for the Go programming language.
Supported APIs
Progress of supporting APIs...
- OAuth
- Team
GET /v1/teams
GET /v1/teams/:team_name
- Stats
GET /v1/teams/:team_name/stats
- Member
GET /v1/teams/:team_name/members
DELETE /v1/teams/:team_name/members/:screen_name
- Post
GET /v1/teams/docs/posts
GET /v1/teams/:team_name/posts/:post_number
POST /v1/teams/:team_name/posts
PATCH /v1/teams/:team_name/posts/:post_number
DELETE /v1/teams/:team_name/posts/:post_number
- Comment
GET /v1/teams/:team_name/posts/:post_number/comments
GET /v1/teams/:team_name/comments/:comment_id
POST /v1/teams/:team_name/posts/:post_number/comments
PATCH /v1/teams/:team_name/comments/:comment_id
DELETE /v1/teams/:team_name/comments/:comment_id
GET /v1/teams/:team_name/comments
- Star
GET /v1/teams/:team_name/posts/:post_number/stargazers
POST /v1/teams/:team_name/posts/:post_number/star
DELETE /v1/teams/:team_name/posts/:post_number/star
GET /v1/teams/:team_name/comments/:comment_id/stargazers
POST /v1/teams/:team_name/comments/:comment_id/star
DELETE /v1/teams/:team_name/comments/:comment_id/star
- Watch
GET /v1/teams/:team_name/posts/:post_number/watchers
POST /v1/teams/:team_name/posts/:post_number/watch
DELETE /v1/teams/:team_name/posts/:post_number/watch
- Tag
GET v1/teams/:team_name/tags
- Category
POST v1/teams/:team_name/categories/batch_move
- Emoji
GET /v1/teams/:team_name/emojis
POST /v1/teams/:team_name/emojis
DELETE /v1/teams/:team_name/emojis/:code
- User
- Invitation by shared URL
GET /v1/teams/:team_name/invitation
POST /v1/teams/:team_name/invitation_regenerator
- Invitation by Email
POST /v1/teams/:team_name/invitations
GET /v1/teams/:team_name/invitations
DELETE /v1/teams/:team_name/invitations/:code
Sample
package main
import (
"context"
"fmt"
"os"
"github.com/michimani/go-esa/esaapi/oauthtoken"
"github.com/michimani/go-esa/esaapi/oauthtoken/types"
"github.com/michimani/go-esa/gesa"
)
func main() {
token := "your-access-token"
c, err := gesa.NewClient(&gesa.NewClientInput{
AccessToken: token,
})
if err != nil {
panic(err)
}
getOAuthTokenInfo(c)
}
func getOAuthTokenInfo(c *gesa.Client) {
r, err := oauthtoken.GetOAuthTokenInfo(context.Background(), c, &types.GetOAuthTokenInfoInput{})
if err != nil {
fmt.Println(err)
ge := err.(*gesa.GesaError)
if ge.OnAPI {
fmt.Println(ge.EsaAPIError.StatusCode)
fmt.Println(ge.EsaAPIError.Status)
fmt.Println(ge.EsaAPIError.Error)
fmt.Println(ge.EsaAPIError.Message)
if ge.EsaAPIError.RateLimitInfo != nil {
fmt.Println(ge.EsaAPIError.RateLimitInfo.Limit)
fmt.Println(ge.EsaAPIError.RateLimitInfo.Remaining)
fmt.Println(ge.EsaAPIError.RateLimitInfo.Reset)
}
}
return
}
fmt.Printf("Response: %+v \n", r)
fmt.Println(gesa.IntValue(r.ResourceOwnerID))
fmt.Println(r.Scope)
fmt.Println(r.Application.UID)
fmt.Println(r.CreatedAt.Time())
fmt.Println(r.User.ID)
fmt.Println(r.RateLimitInfo)
}
More examples
See _examples directory.
License
MIT
Author
michimani210
Documentation
¶
Package goesa is the unofficial esa API v1 SDK for the Go programming language.
Getting started: To get information of OAuth access token.
go get github.com/michimani/go-esa/gesa
go get github.com/michimani/go-esa/esaapi/oauthtoken
go get github.com/michimani/go-esa/esaapi/oauthtoken/types
package main
import (
"context"
"fmt"
"os"
"github.com/michimani/go-esa/esaapi/oauthtoken"
"github.com/michimani/go-esa/esaapi/oauthtoken/types"
"github.com/michimani/go-esa/gesa"
)
func main() {
token := "your-access-token"
c, err := gesa.NewClient(&gesa.NewClientInput{
AccessToken: token,
})
if err != nil {
panic(err)
}
getOAuthTokenInfo(c)
}
func getOAuthTokenInfo(c *gesa.Client) {
r, err := oauthtoken.GetOAuthTokenInfo(context.Background(), c, &types.GetOAuthTokenInfoInput{})
if err != nil {
fmt.Println(err)
ge := err.(*gesa.GesaError)
if ge.OnAPI {
fmt.Println(ge.EsaAPIError.StatusCode)
fmt.Println(ge.EsaAPIError.Status)
fmt.Println(ge.EsaAPIError.Error)
fmt.Println(ge.EsaAPIError.Message)
if ge.EsaAPIError.RateLimitInfo != nil {
fmt.Println(ge.EsaAPIError.RateLimitInfo.Limit)
fmt.Println(ge.EsaAPIError.RateLimitInfo.Remaining)
fmt.Println(ge.EsaAPIError.RateLimitInfo.Reset)
}
}
return
}
fmt.Printf("Response: %+v \n", r)
fmt.Println(gesa.IntValue(r.ResourceOwnerID))
fmt.Println(r.Scope)
fmt.Println(r.Application.UID)
fmt.Println(r.CreatedAt.Time())
fmt.Println(r.User.ID)
fmt.Println(r.RateLimitInfo)
}
Source Files
¶
Directories
¶
esaapi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Click to show internal directories.
Click to hide internal directories.