Sample Code
以下将以GetDataSourceList
接口为例,使用两种方式介绍如何通过SDK发起带有签名的请求。
第一种方式(推荐)
实例化
PwC.Api.Sdk
中的RequestHelper
对象// RequestHelper requestHelper = new RequestHelper(appKey, securityKey, domain);
通过第一步实例对象调用
PostAsync
,发起post请求,并获取请求结果// var response = await requestHelper.PostAsync("/tenant/appCode/customapi/GetDataSourceList", JsonConvert.DeserializeObject<Dictionary<string, object>>("{\"State\":-1}"));
第二种方式 - 分步
实例化
PwC.Api.Sdk
中的RequestHelper
对象// RequestHelper requestHelper = new RequestHelper(appKey, securityKey, domain);
实例化
ISigner
// ISigner signer = new HmacSHA256();
获取时间戳
// string timestamp = Common.GetDateTotalMilliseconds().ToString();
获取随机数
// string nonce = Common.GetNonce();
获取签名原串
// string sourceText = signer.GetStringToSign(requestData, appKey, securityKey, nonce, timestamp);
获取签名
// string sign = signer.GetSign(sourceText);
使用
PostAsync
发起请求并获取结果// var response = await requestHelper.PostAsync("/tenant/appCode/customapi/GetDataSourceList", JsonConvert.DeserializeObject<Dictionary<string, object>>("{\"State\":-1}"), sign, nonce, timestamp);