1
This commit is contained in:
@@ -30,6 +30,7 @@ const (
|
||||
yilianyunTokenExpires = 30 * 24 * 3600 * time.Second
|
||||
pushTokenExpires = 7200 * time.Second
|
||||
fnTokenExpires = 1 * time.Hour
|
||||
tiktokTokenExpires = 14 * 24 * 3600 * time.Second
|
||||
|
||||
maxRefreshGap = 5 * 60 * time.Second
|
||||
errRefreshGap = 10 * time.Second
|
||||
@@ -470,3 +471,50 @@ func getWeimobTokenFromRemote(oldToken string) (tokenInfo *syseventhub.TokenInfo
|
||||
}
|
||||
return tokenInfo
|
||||
}
|
||||
|
||||
// RefreshTiktokToken 刷新抖店token
|
||||
func RefreshTiktokToken() (err error) {
|
||||
if api.TiktokStore != nil {
|
||||
err = RefreshConfig("tiktok", tiktokTokenExpires, func() (token string, expireTimeStr string, refreshToken string) {
|
||||
curConfig := &legacymodel.Config{
|
||||
Thirdparty: "tiktok",
|
||||
}
|
||||
if err := orm.NewOrm().Read(curConfig, "Thirdparty"); err != nil {
|
||||
globals.SugarLogger.Errorf("RefreshTiktokToken RefreshToken failed with error:%v", err)
|
||||
}
|
||||
if curConfig.RefreshToken == "" {
|
||||
if tokenInfo, err := api.TiktokStore.CreateToken(curConfig.Token); err != nil {
|
||||
globals.SugarLogger.Errorf("tiktok store get token err:%v", err)
|
||||
} else {
|
||||
token = tokenInfo.AccessToken
|
||||
refreshToken = tokenInfo.RefreshToken
|
||||
expireTimeStr = time.Unix(tokenInfo.ExpiresIn, 0).Format("2006-01-02 15:04:05")
|
||||
}
|
||||
} else {
|
||||
expireIn, _ := time.Parse("2006-01-02 15:04:05", curConfig.Date)
|
||||
if expireIn.Unix() < time.Now().Unix() {
|
||||
api.TiktokStore.SetToken(curConfig.Token)
|
||||
api.TiktokStore.SetRefreshToken(curConfig.RefreshToken)
|
||||
if tokenInfo, err := api.TiktokStore.RefreshToken(); err == nil {
|
||||
token = tokenInfo.AccessToken
|
||||
refreshToken = tokenInfo.RefreshToken
|
||||
expireTimeStr = time.Unix(tokenInfo.ExpiresIn, 0).Format("2006-01-02 15:04:05")
|
||||
} else {
|
||||
globals.SugarLogger.Errorf("RefreshTiktokToken RefreshToken failed with error:%v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sql := `UPDATE config SET token = ?,refresh_token = ?,data = ? WHERE thirdparty = ?`
|
||||
dao.ExecuteSQL(dao.GetDB(), sql, []interface{}{
|
||||
token, refreshToken, expireTimeStr, "tiktok",
|
||||
})
|
||||
return token, expireTimeStr, refreshToken
|
||||
}, func(value, v2 string) {
|
||||
globals.SugarLogger.Debugf("RefreshFnToken setter value:[%s],[%s]", value, v2)
|
||||
api.TiktokStore.SetToken(value)
|
||||
api.TiktokStore.SetRefreshToken(v2)
|
||||
})
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user