UCloud API 需要把所有请求参数拼接起来进行签名。在 Paw 中测试 API 时可以添加 URL Params 参数 Signature,使用 JS Script 的 Dynamic Value 进行拼接,组装上 private key 之后再用内置的 SHA1 就能得到最终的签名了。
拼接使用的 JavaScript 代码如下:
// context docs: https://paw.cloud/docs/reference/ExtensionContext
// request docs: https://paw.cloud/docs/reference/Request
function evaluate(context){
var req = context.getCurrentRequest();
return req.getUrlParametersNames().filter(function(k) { return k != "Signature" }).sort().map(function(k) {
return k + req.getUrlParameterByName(k);
}).join("");
}
Paw 会提示 URL Params 使用 JS Script 会有递归依赖的问题,忽略掉就可以。不过注意在上面的 JavaScript 代码中需要跳过 Signature 参数。