mirror of https://gitee.com/godoos/godoos.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.1 KiB
86 lines
2.1 KiB
package payload
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
// AccessToken 获取企业内部应用的access_token
|
|
// https://developers.dingtalk.com/document/app/obtain-orgapp-token
|
|
type AccessToken struct {
|
|
Response
|
|
// Expires 过期时间
|
|
Expires int16 `json:"expires_in"`
|
|
// Create 创建时间
|
|
Create int64 `json:"create"`
|
|
// Token
|
|
Token string `json:"access_token"`
|
|
}
|
|
|
|
// CreatedAt is when the access token is generated
|
|
func (token *AccessToken) CreatedAt() int64 {
|
|
return token.Create
|
|
}
|
|
|
|
// ExpiresIn is how soon the access token is expired
|
|
func (token *AccessToken) ExpiresIn() int16 {
|
|
return token.Expires
|
|
}
|
|
|
|
type JsApiTicket struct {
|
|
Response
|
|
// Expires 过期时间
|
|
Expires int16 `json:"expires_in"`
|
|
// Create 创建时间
|
|
Create int64 `json:"create"`
|
|
// Ticket 生成的临时jsapi_ticket。
|
|
Ticket string `json:"ticket"`
|
|
}
|
|
|
|
// CreatedAt is when the access token is generated
|
|
func (token *JsApiTicket) CreatedAt() int64 {
|
|
return token.Create
|
|
}
|
|
|
|
// ExpiresIn is how soon the access token is expired
|
|
func (token *JsApiTicket) ExpiresIn() int16 {
|
|
return token.Expires
|
|
}
|
|
|
|
const (
|
|
ActionGetUserAuthToken = "authorization_code"
|
|
ActionRefreshAuthToken = "refresh_token"
|
|
)
|
|
|
|
type UserAccessToken struct {
|
|
ClientId string `json:"clientId,omitempty"`
|
|
ClientSecret string `json:"clientSecret,omitempty"`
|
|
Code string `json:"code,omitempty"`
|
|
RefreshToken string `json:"refreshToken,omitempty"`
|
|
GrantType string `json:"grantType,omitempty"`
|
|
}
|
|
|
|
func NewUserAuthToken(authCode string) *UserAccessToken {
|
|
return &UserAccessToken{
|
|
Code: authCode,
|
|
GrantType: ActionGetUserAuthToken,
|
|
}
|
|
}
|
|
|
|
type UserAccessTokenResponse struct {
|
|
AccessToken string `json:"accessToken,omitempty"`
|
|
RefreshToken string `json:"refreshToken,omitempty"`
|
|
ExpireIn int `json:"expireIn,omitempty"`
|
|
CorpId string `json:"corpId,omitempty"`
|
|
|
|
Code string `json:"code,omitempty"`
|
|
Message string `json:"message,omitempty"`
|
|
RequestId string `json:"requestid,omitempty"`
|
|
}
|
|
|
|
func (u UserAccessTokenResponse) CheckError() (err error) {
|
|
if u.Code != "" {
|
|
err = fmt.Errorf("code:'%s', msg:%s, requestId: %s", u.Code, u.Message, u.RequestId)
|
|
}
|
|
|
|
return
|
|
}
|
|
|