くりにっき

フルスタックキュアエンジニアです

go-doorkeeperを作った

github.com

go-doorkeeperについて

golangDoorkeeper API を利用するためのAPIクライアントです

最近golangでDoorkeeperのAPIを叩きたい需要が発生したんですが誰も作ってなさそうだったので作りました。*1

使い方

READMEからコピペ

package main

import (
    "github.com/sue445/go-doorkeeper"
    "os"
)

func main() {
    accessToken := os.Getenv("DOORKEEPER_ACCESS_TOKEN")
    if accessToken == "" {
        panic("DOORKEEPER_ACCESS_TOKEN is required")
    }

    client := doorkeeper.NewClient(accessToken)

    // List all featured events
    events, rateLimit, err := client.GetEvents(&doorkeeper.GetEventsParams{})
    // more options
    events, rateLimit, err := client.GetEvents(&doorkeeper.GetEventsParams{Query: "golang", Sort: doorkeeper.SortByPublishedAt()})

    // List a community's events
    groupName := "trbmeetup"
    events, rateLimit, err := client.GetGroupEvents(groupName, &doorkeeper.GetEventsParams{})

    // Show a specific event
    eventID := 28319
    event, rateLimit, err := client.GetEvent(eventID)
    // or
    event, rateLimit, err := client.GetEvent(eventID, doorkeeper.WithLocale("en"))

    // Show a specific group
    groupName := "trbmeetup"
    group, rateLimit, err := client.GetGroup(groupName)
    // or
    group, rateLimit, err := client.GetGroup(groupName, doorkeeper.WithLocale("en"))
}

*1:「doorkeeper api」でググると全く関係ない方のdoorkeeper gemしか見つからなかったのでそいつがノイズになって見つけられなかった説はある