diff --git a/platformapi/dingdingapi/dingdingapi.go b/platformapi/dingdingapi/dingdingapi.go index aa48ed83..9883b400 100644 --- a/platformapi/dingdingapi/dingdingapi.go +++ b/platformapi/dingdingapi/dingdingapi.go @@ -4,7 +4,9 @@ import ( "bytes" "crypto/hmac" "crypto/sha256" + "encoding/base64" "net/http" + "net/url" "strings" "sync" "time" @@ -90,7 +92,7 @@ func (a *API) RetrieveToken() (token string, err error) { func (a *API) signParams(timestamp int64) string { mac := hmac.New(sha256.New, []byte(a.GetSecret())) mac.Write([]byte(utils.Int64ToStr(timestamp))) - return string(mac.Sum(nil)) + return url.QueryEscape(base64.StdEncoding.EncodeToString(mac.Sum(nil))) } func (a *API) AccessAPI(action string, params map[string]interface{}, bodyMap map[string]interface{}) (retVal map[string]interface{}, err error) {