.版本 2 .支持库 spec ' 这一步是用来获取sign的,但是为什么会显示缺少sign参数{"code":4100,"message":"鉴权失败,缺少 Signature 参数。","codeDesc":"AuthFailure"} 我按照API文档里面的获取签名串例子改的 secretKey = “OSGL3f35oIWU1L2TsksmUFlAiFZfatxm” srcStr = 编码_usc2到ansi (到文本 (网页_访问 (“https://wenzhi.api.qcloud.com/v2/index.php?Action=TextSensitivity&Nonce=” + 随机数 + “&Region=sz&SecretId=AKIDCewtwjLaFgzCHBtiiU3NRZtnZGjwqeHg&SignatureMethod=HmacSHA1&Timestamp=” + 时间_取现行时间戳 (真), 1))) 调试输出 (srcStr) signStr = 编码_URL编码 (编码_BASE64编码 (到字节集 (hmac.Hmac (到字节集 (srcStr), 到字节集 (secretKey), #CALG_SHA1))), 真)


用户1350142用户1350142修改于
zqfan回答于

你的密钥已经泄漏,请尽快删除此密钥。

请求发送时,你的query string里必须有经过签名算法计算出来的Signature参数,在你给出的例子url中,确实没有体现这个参数,所以报错了。请仔细阅读下文档,或者使用sdk,这样就可以不用关心签名过程了

回答过的其他问题

文本翻译api不能用吗?

推荐

可能是你本地的php环境配置的证书路径有问题,参考这里看看吧https://github.com/tencentcloud/tencentcloud-sdk-php#%E8%AF%81%E4%B9%A6%E9%97%AE%E9%A2%98

【建议】【API】使用API创建子网的时候允许指定已有路由表?

推荐

控制台使用的是新的接口,批量创建子网,https://cloud.tencent.com/document/product/215/31960,可以指定路由表。terraform开发的时候是基于api2.0开发的,还没有这个接口,因此暂时无法使用

 如何使用人工智能合成人声?

智能语音服务昨天刚上线了语音合成的功能,可以了解一下:https://cloud.tencent.com/document/api/441/18086

请问有创建项目的sdk吗?

推荐

这是api2.0的接口,使用对应的sdk,代码托管在http://github.com/qcloudapi

调用云解析API提示4100鉴权失败?

推荐
UTF8,并且注意要大写,例如%8E而不是%8e,官方文档中应该有提到这些注意事项的 image.png ... 展开详请

机器翻译报错AuthFailure.SignatureFailure?

推荐
你这签名没有按照文档中要求的一步一步来啊:https://cloud.tencent.com/document/product/213/15693 1、拼接的时候是原文,但你却做了urlencode,而且还缺了应该在最前面的POST 2、signature总体上只需要做一次url...... 展开详请

扫码关注云+社区

领取腾讯云代金券