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_open/util.go:78
SetResult(&resp).
SetError(&e).
SetQueryParams(map[string]string{
"refresh_ui": d.RefreshToken,
"server_use": "true",
"driver_txt": "alicloud_qr",
}).
Get(d.OauthTokenURL)
if err != nil {
return "", "", err
}
if resp.RefreshToken != "" && resp.AccessToken != "" {
return resp.RefreshToken, resp.AccessToken, nil
}
if resp.ErrorMessage != "" {
if res != nil && res.StatusCode() == http.StatusTooManyRequests {
return d.refreshTokenWithLegacyFallback(ctx, resp.ErrorMessage, retryAfterFromResponse(res))
}
return "", "", fmt.Errorf("failed to refresh token: %s", resp.ErrorMessage)
}
if res != nil && res.StatusCode() == http.StatusTooManyRequests {
return d.refreshTokenWithLegacyFallback(ctx, http.StatusText(http.StatusTooManyRequests), retryAfterFromResponse(res))
}
if e.Code != "" || e.Message != "" {
return d.refreshTokenWithPost(ctx, d.OauthTokenURL)
}
return "", "", fmt.Errorf("empty token returned from online API")
}
func (d *AliyundriveOpen) refreshTokenWithLegacyFallback(ctx context.Context, message string, retryAfter time.Duration) (string, string, error) {
if d.OauthTokenURL != legacyOauthTokenURL {
log.Warnf("[ali_open] online refresh API is rate-limited, trying legacy fallback: %s", legacyOauthTokenURL)
if refresh, access, err := d.refreshTokenWithPost(ctx, legacyOauthTokenURL); err == nil {
return refresh, access, nil
} else if _, ok := err.(*refreshRateLimitError); !ok {
return "", "", err
}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_open/util.go:78 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/11ff7a7c52253736.
Report an issue: GitHub.