AlistGo/alist · error

refresh token is empty

Error message

refresh token is empty

What it means

Error "refresh token is empty" thrown in AlistGo/alist.

Source

Thrown at drivers/quark_uc_tv/util.go:178

	_, err := base.RestyClient.R().
		SetHeader("Content-Type", "application/json").
		SetBody(body).
		SetResult(&resp).
		SetContext(ctx).
		Post(u)
	if err != nil {
		return err
	}
	if resp.Code != 200 {
		return errors.New(resp.Message)
	}
	if resp.Data.RefreshToken != "" {
		d.Addition.RefreshToken = resp.Data.RefreshToken
		op.MustSaveDriverStorage(d)
		d.QuarkUCTVCommon.AccessToken = resp.Data.AccessToken
	} else {
		return errors.New("refresh token is empty")
	}
	return nil
}

func (d *QuarkUCTV) isLogin(ctx context.Context) (bool, error) {
	_, err := d.request(ctx, "/user", http.MethodGet, func(req *resty.Request) {
		req.SetQueryParams(map[string]string{
			"method": "user_info",
		})
	}, nil)
	return err == nil, err
}

func (d *QuarkUCTV) generateReqSign(method string, pathname string, key string) (string, string, string) {
	//timestamp 13位时间戳
	timestamp := strconv.FormatInt(time.Now().UnixNano()/int64(time.Millisecond), 10)
	deviceID := d.Addition.DeviceID
	if deviceID == "" {

View on GitHub (pinned to 843d9dc814)

Solutions

  1. Re-authenticate the storage: obtain a new refresh_token via the provider's OAuth flow and update the storage configuration.
  2. Verify client_id/client_secret are correct and the refresh token has not been revoked or expired.

When it happens

Trigger: Thrown at drivers/quark_uc_tv/util.go:178 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/bf94ae5a423b8920. Report an issue: GitHub.