Documentation ¶
Overview ¶
飞书 开放平台 SDK
Index ¶
- Variables
- type App
- func (app *App) GetAppAccessToken() (accessToken string, err error)
- func (app *App) GetTenantAccessToken() (accessToken string, err error)
- func (app *App) SetCacheDriver(driver cachego.Cache)
- func (app *App) SetGetAppAccessTokenHandler(f GetAppAccessTokenFunc)
- func (app *App) SetGetTenantAccessTokenHandler(f GetTenantAccessTokenFunc)
- func (app *App) SetLogger(logger *log.Logger)
- type AppConfig
- type Client
- func (client *Client) HTTPDelete(url string, header http.Header) (resp []byte, err error)
- func (client *Client) HTTPDo(req *http.Request) (resp []byte, err error)
- func (client *Client) HTTPGet(url string, header http.Header) (resp []byte, err error)
- func (client *Client) HTTPPatch(url string, payload io.Reader, header http.Header) (resp []byte, err error)
- func (client *Client) HTTPPost(url string, payload io.Reader, header http.Header) (resp []byte, err error)
- func (client *Client) HTTPPut(url string, payload io.Reader, header http.Header) (resp []byte, err error)
- type GetAppAccessTokenFunc
- type GetAppTicketFunc
- type GetTenantAccessTokenFunc
- type PublicApp
- func (ctx *PublicApp) GetAppAccessToken() (accessToken string, err error)
- func (ctx *PublicApp) GetAppTicket() (appTicket string, err error)
- func (ctx *PublicApp) GetTenantAccessToken() (accessToken string, err error)
- func (ctx *PublicApp) ReceiveAppTicket(ticket string) (err error)
- func (ctx *PublicApp) RequestAppTicket()
- type ReceiveAppTicketFunc
- type Server
Constants ¶
This section is empty.
Variables ¶
var FeishuServerUrl = "https://open.larksuite.com"
飞书 api 服务器地址
var FeishuServerUrl2 = "https://www.feishu.cn"
Functions ¶
This section is empty.
Types ¶
type App ¶
type App struct { Config AppConfig Cache cachego.Cache GetTenantAccessTokenHandler GetTenantAccessTokenFunc GetAppAccessTokenHandler GetAppAccessTokenFunc Client Client Server Server Logger *log.Logger }
App 实例
func (*App) GetAppAccessToken ¶
从 应用 实例 的 AppAccessToken 管理器 获取 access_token
如果没有 access_token 或者 已过期,那么刷新
func (*App) GetTenantAccessToken ¶
从 应用 实例 的 TenantAccessToken 管理器 获取 access_token
如果没有 access_token 或者 已过期,那么刷新
func (*App) SetCacheDriver ¶
SetCacheDriver 设置 access_token 缓存器 默认为文件缓存:目录 os.TempDir()
驱动接口类型 为 cachego.Cache
func (*App) SetGetAppAccessTokenHandler ¶
func (app *App) SetGetAppAccessTokenHandler(f GetAppAccessTokenFunc)
SetGetAppAccessTokenHandler 设置 AppAccessToken 获取方法。默认 从本地缓存获取(过期从接口刷新)
如果有多实例服务,可以设置为 Redis 或 RPC 等中控服务器 获取 就可以避免 TenantAccessToken 刷新冲突
func (*App) SetGetTenantAccessTokenHandler ¶
func (app *App) SetGetTenantAccessTokenHandler(f GetTenantAccessTokenFunc)
SetGetTenantAccessTokenHandler 设置 TenantAccessToken 获取方法。默认 从本地缓存获取(过期从接口刷新)
如果有多实例服务,可以设置为 Redis 或 RPC 等中控服务器 获取 就可以避免 TenantAccessToken 刷新冲突
type Client ¶
type Client struct {
Ctx *App
}
HttpClient 用于向 接口发送请求
func (*Client) HTTPDelete ¶
HTTPDelete DELETE 请求
func (*Client) HTTPPatch ¶
func (client *Client) HTTPPatch(url string, payload io.Reader, header http.Header) (resp []byte, err error)
HTTPPatch PATCH 请求
type GetAppAccessTokenFunc ¶
GetAppAccessTokenFunc 获取 app_access_token 方法接口
type GetAppTicketFunc ¶
type GetTenantAccessTokenFunc ¶
GetTenantAccessTokenFunc 获取 tenant_access_token 方法接口
type PublicApp ¶
type PublicApp struct { *App TenantKey string GetAppTicketHandler GetAppTicketFunc ReceiveAppTicketHandler ReceiveAppTicketFunc }
func NewPublicApp ¶
应用市场应用
func (*PublicApp) GetAppAccessToken ¶
从 应用 实例 的 AppAccessToken 管理器 获取 access_token
如果没有 access_token 或者 已过期,那么刷新
获得新的 access_token 后 过期时间设置为 0.9 * expiresIn 提供一定冗余
func (*PublicApp) GetAppTicket ¶
GetAppTicket 获取 AppTicket
func (*PublicApp) GetTenantAccessToken ¶
从 应用 实例 的 TenantAccessToken 管理器 获取 access_token
如果没有 access_token 或者 已过期,那么刷新
func (*PublicApp) ReceiveAppTicket ¶
ReceiveAppTicket 接收 app_ticket 并 存储到 缓存
func (*PublicApp) RequestAppTicket ¶
func (ctx *PublicApp) RequestAppTicket()
RequestAppTicket 请求重新发送 app_ticket
type ReceiveAppTicketFunc ¶
type Server ¶
type Server struct {
Ctx *App
}
响应 推送事件 的服务器
func (*Server) Challenge ¶
func (s *Server) Challenge(writer http.ResponseWriter, event event_types.EventChallenge)
Challenge 服务器接口校验
Directories ¶
Path | Synopsis |
---|---|
apis
|
|
app/app_manage
Package app_manage 应用信息/应用管理
|
Package app_manage 应用信息/应用管理 |
app/app_store
Package app_store 应用信息/应用商店
|
Package app_store 应用信息/应用商店 |
authen
网页授权流程分为四步: 整体流程 第一步: 网页后端发现用户未登录,请求身份验证; 第二步: 用户登录后,开放平台生成登录预授权码,302跳转至重定向地址; 第三步: 网页后端调用获取登录用户身份校验登录预授权码合法性,获取到用户身份; 第四步: 如需其他用户信息,网页后端可调用获取用户信息(身份验证)。
|
网页授权流程分为四步: 整体流程 第一步: 网页后端发现用户未登录,请求身份验证; 第二步: 用户登录后,开放平台生成登录预授权码,302跳转至重定向地址; 第三步: 网页后端调用获取登录用户身份校验登录预授权码合法性,获取到用户身份; 第四步: 如需其他用户信息,网页后端可调用获取用户信息(身份验证)。 |
bot/bot_manage
Package bot_manage 机器人/机器人信息和管理
|
Package bot_manage 机器人/机器人信息和管理 |
bot/group_manage
Package group_manage 机器人/群信息和群管理
|
Package group_manage 机器人/群信息和群管理 |
capabilities/approval
Package approval 审批
|
Package approval 审批 |
capabilities/calendar
Package calendar 日历
|
Package calendar 日历 |
capabilities/document/comment
Package comment 云文档/评论
|
Package comment 云文档/评论 |
capabilities/document/docs
Package docs 云文档/docs
|
Package docs 云文档/docs |
capabilities/document/file
Package file 云文档/file
|
Package file 云文档/file |
capabilities/document/folder
Package folder 云文档/folder
|
Package folder 云文档/folder |
capabilities/document/permission
Package permission 云文档/permission
|
Package permission 云文档/permission |
capabilities/document/platform
Package platform 云文档/platform
|
Package platform 云文档/platform |
capabilities/document/sheets
Package sheets 云文档/sheets
|
Package sheets 云文档/sheets |
capabilities/meeting_room
Package meeting_room 会议室
|
Package meeting_room 会议室 |
contact
Package contact 获取企业自定义用户属性配置
|
Package contact 获取企业自定义用户属性配置 |
contact/async_batch
Package async_batch 异步批量接口
|
Package async_batch 异步批量接口 |
contact/department
Package department 部门管理
|
Package department 部门管理 |
contact/user
Package user 用户管理
|
Package user 用户管理 |
message
Package message 消息
|
Package message 消息 |
user_group
Package user_group 用户群组
|
Package user_group 用户群组 |
Package test 模拟服务器 测试
|
Package test 模拟服务器 测试 |
types
|
|