fix newRefreshToken

This commit is contained in:
iyear 2020-07-05 21:13:43 +08:00
parent c4e44d7249
commit e15e57d080
2 changed files with 9 additions and 8 deletions

View File

@ -104,7 +104,7 @@ func SignTask() {
//签到任务 //签到任务
for _, u := range data { for _, u := range data {
pre := "您的账户: " + u.alias + "\n在任务执行时出现了错误!\n错误:" pre := "您的账户: " + u.alias + "\n在任务执行时出现了错误!\n错误:"
access, err := MSGetToken(u.refreshToken, u.clientId, u.clientSecret) access, newRefreshToken, err := MSGetToken(u.refreshToken, u.clientId, u.clientSecret)
chat, _ := bot.ChatByID(strconv.FormatInt(u.tgId, 10)) chat, _ := bot.ChatByID(strconv.FormatInt(u.tgId, 10))
//生成解绑按钮 //生成解绑按钮
@ -130,6 +130,7 @@ func SignTask() {
continue continue
} }
u.uptime = time.Now().Unix() u.uptime = time.Now().Unix()
u.refreshToken = newRefreshToken
if ok, err := UpdateData(u); !ok { if ok, err := UpdateData(u); !ok {
logger.Println(u.msId+" ", err) logger.Println(u.msId+" ", err)
bot.Send(chat, pre+err.Error(), tmpBtn) bot.Send(chat, pre+err.Error(), tmpBtn)

View File

@ -60,8 +60,8 @@ func MSFirGetToken(code, cid, cse string) (access string, refresh string, Error
return "", "", errors.New(string(content)) return "", "", errors.New(string(content))
} }
//return access_token //return access_token and new refresh token
func MSGetToken(refreshtoken, cid, cse string) (access string, Error error) { func MSGetToken(refreshtoken, cid, cse string) (access string, newRefreshToken string, Error error) {
var r http.Request var r http.Request
client := &http.Client{} client := &http.Client{}
r.ParseForm() r.ParseForm()
@ -76,25 +76,25 @@ func MSGetToken(refreshtoken, cid, cse string) (access string, Error error) {
req, err := http.NewRequest("POST", MsApiUrl+"/common/oauth2/v2.0/token", body) req, err := http.NewRequest("POST", MsApiUrl+"/common/oauth2/v2.0/token", body)
if err != nil { if err != nil {
logger.Println(err) logger.Println(err)
return "", err return "", "", err
} }
resp, err := client.Do(req) resp, err := client.Do(req)
if err != nil { if err != nil {
logger.Println(err) logger.Println(err)
return "", err return "", "", err
} }
defer resp.Body.Close() defer resp.Body.Close()
content, err := ioutil.ReadAll(resp.Body) content, err := ioutil.ReadAll(resp.Body)
if err != nil { if err != nil {
logger.Println(err) logger.Println(err)
return "", err return "", "", err
} }
//fmt.Println(string(content)) //fmt.Println(string(content))
//fmt.Println(gjson.Get(string(content), "access_token").String()) //fmt.Println(gjson.Get(string(content), "access_token").String())
if gjson.Get(string(content), "token_type").String() == "Bearer" { if gjson.Get(string(content), "token_type").String() == "Bearer" {
return gjson.Get(string(content), "access_token").String(), nil return gjson.Get(string(content), "access_token").String(), gjson.Get(string(content), "refresh_token").String(), nil
} }
return "", errors.New(string(content)) return "", "", errors.New(string(content))
} }
//Get User's Information //Get User's Information