AlistGo/alist · error
failed to refresh token: %s
Error message
failed to refresh token: %s
What it means
Error "failed to refresh token: %s" thrown in AlistGo/alist.
Source
Thrown at drivers/aliyundrive/util.go:74
}
// do others that not defined in Driver interface
func (d *AliDrive) refreshToken() error {
url := "https://auth.alipan.com/v2/account/token"
var resp base.TokenResp
var e RespErr
_, err := base.RestyClient.R().
//ForceContentType("application/json").
SetBody(base.Json{"refresh_token": d.RefreshToken, "grant_type": "refresh_token"}).
SetResult(&resp).
SetError(&e).
Post(url)
if err != nil {
return err
}
if e.Code != "" {
return fmt.Errorf("failed to refresh token: %s", e.Message)
}
if resp.RefreshToken == "" {
return errors.New("failed to refresh token: refresh token is empty")
}
d.RefreshToken, d.AccessToken = resp.RefreshToken, resp.AccessToken
op.MustSaveDriverStorage(d)
return nil
}
func (d *AliDrive) request(url, method string, callback base.ReqCallback, resp interface{}) ([]byte, error, RespErr) {
req := base.RestyClient.R()
state, ok := global.Load(d.UserID)
if !ok {
if url == "https://api.alipan.com/v2/user/get" {
state = &State{}
} else {
return nil, fmt.Errorf("can't load user state, user_id: %s", d.UserID), RespErr{}
}View on GitHub (pinned to 843d9dc814)
Solutions
- Re-authenticate the storage: obtain a new refresh_token via the provider's OAuth flow and update the storage configuration.
- Verify client_id/client_secret are correct and the refresh token has not been revoked or expired.
When it happens
Trigger: Thrown at drivers/aliyundrive/util.go:74 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of AlistGo/alist@843d9dc814 (2026-08-15).
Data as JSON: /api/errors/2d897f0380445a9b.
Report an issue: GitHub.