C#访问WPS开放平台接口时,有WPS3签名的接口失败原因,请求帮助。
var request = new HttpRequestMessage();
request.Method = HttpMethod.Get;
request.RequestUri = new Uri("https://openapi.wps.cn/kopen/kdocs/api/v1/app/folder/url?access_token=*******");
var date = DateTimeOffset.UtcNow;
var md5 = "d41d8cd98f00b204e9800998ecf8427e";
request.Headers.TryAddWithoutValidation("Date",date.ToString("R"));
request.Headers.TryAddWithoutValidation("Content-Md5", md5);
var signatureData = "*****" + md5 +"/kopen/kdocs/api/v1/app/folder/url?access_token=*******" +"application/json" +date.ToString("R");
using var sha1 = SHA1.Create();
var signatureBytes = sha1.ComputeHash(Encoding.UTF8.GetBytes(signatureData));
var signature = BitConverter.ToString(signatureBytes).Replace("-", "").ToLower();
// 生成 X-Auth
var XAuth= $"WPS-3:********:{signature}";
request.Headers.TryAddWithoutValidation("X-Auth", XAuth);
HttpResponseMessage response = await _httpClient.SendAsync(request);
var responseContent = await response.Content.ReadAsStringAsync();
await response.Content.CopyToAsync(context.Response.Body);