首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >语音识别 AuthFailure.SignatureFailure 签名错误怎么解决?

语音识别 AuthFailure.SignatureFailure 签名错误怎么解决?

提问于 2020-03-27 23:07:14
回答 1关注 0查看 825

//将data换成文档中给的例子,能生成正确的Signature

//但是用我自己id和key还有参数生辰的签名就报错

//===========↓ 附上代码↓ ===========

//从data读取secretKey

let secretKey = this.data.SecretKey;

//参数

let requestData = {

Action: "SentenceRecognition",

Version: "2019-06-14",

ProjectId: 0,

SubServiceType: 2,

EngSerViceType: "16k_zh",

SourceType: 1,

VoiceFormat: "mp3",

UsrAudioKey: new Date().getTime(),

Data: this.data.base64File,

DataLen: this.data.base64Length,

FilterDirty: 1,

FilterModal: 1,

FilterPunc: 1,

Timestamp: parseInt(new Date().getTime() / 1000),

Nonce: parseInt(new Date().getTime() / 1000),

SecretId: this.data.SecretId,

}

//自己定义了ksort排序

let data = ksort(requestData);

let arr = [];

for (var x in data) {

data[x] = encodeURIComponent(data[x]);

arr.push(x + '=' + data[x]);

}

let str = arr.join('&');

//签名生成

let sign = 'POSTasr.tencentcloudapi.com /?' + str;

//后面有b64_hmac_sha1()

sign = encodeURIComponent(b64_hmac_sha1(secretKey, sign));

data['Signature'] = sign;

后面用wx.request()请求就显示签名错误了

Error:{Code:"AuthFailure.SignatureFailure",Message:"The provided credentials could not be validated. Please check your signature is correct."}

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档