SDK与回调
通过小程序注册的企业,如何查看对应企业的 API 密钥信息?
通过小程序注册的企业,单击查询密钥,即可查看对应企业的 API 密钥信息。
!
- API 密钥是构建腾讯云 API 请求的重要凭证,请妥善保管。
- 查询密钥过程中,可能需要通过短信验证码进行安全校验,如您不是该手机号所有人,请与企业超级管理员联系。
- 此入口当前仅小程序注册的企业可见,电脑端注册企业的 API 密钥查看方式请参见 访问密钥 文档。
为什么使用腾讯云子账号登录电子签,页面提示当前账号暂无电子签权限?
因为主账号没有授予子账号电子签相关策略,授权操作如下:
- 使用腾讯云企业主账号登录 腾讯云访问管理,在用户列表中选中子用户,单击授权。如无子用户请参见 自定义创建子用户 创建子用户账号
- 在关联策略搜索 QcloudESSFullAccess 选中并保存完成授权。
- 授权完成后,您可使用此子用户账号登录腾讯电子签。
如何获取 SDK 调用样例?
电子签集成版目前提供了 PHP 、Python 、Java 、Go、.NET 等语言的调用 Demo 供您在接入时参考,已上传至 GitHub 腾讯云官方 SDK 项目。
如何导入 SDK ?
目前官方提供了 PHP、Python、Java、Go、.NET、Node.js、C++、Ruby 等语言的 SDK 支持,请根据您的实际需要进行导入,请参见 SDK 导入指引 。
JDK1.7 使用 SDK 调用上传文件接口报 javax.net.ssl.SSLException-Received fatal alert: protocol_version?
JDK1.7 默认使用 TLSv1.0,需要强制设置成 TLSv1.2,官方使用的 HTTP 客户端是 okhttp,需要自行修改官网 SDK 源码。 在 com.tencentcloudapi.common.http.HttpConnection 类中修改构造函数如下:
public HttpConnection(Integer connTimeout, Integer readTimeout, Integer writeTimeout) {
this.client = new OkHttpClient();
SSLContext sslContext = null; //这边指定tls版本
try {
sslContext = SSLContext.getInstance("TLSv1.2");
sslContext.init(null, null,null);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e.getMessage());
}
SSLSocketFactory factory = sslContext.getSocketFactory();
this.client.setSslSocketFactory(factory);
this.client.setConnectTimeout(connTimeout, TimeUnit.SECONDS);
this.client.setReadTimeout(readTimeout, TimeUnit.SECONDS);
this.client.setWriteTimeout(writeTimeout, TimeUnit.SECONDS);
}
报错“签名计算错误,请使用SDK”
- 请确保使用了电子签提供的SDK。
- 请确保
SecretId
和SecretKey
正确。
报错“The SecretId is not found, please ensure that your SecretId is correct”
常见原因是,指定的SecretId
和SecretKey
传入了正式/测试环境的密钥,而接口请求到了测试/正式环境。
为什么API文档中的接口在SDK中找不到?
报错“请求的Endpoint或Version错误,请检查并修正后重试”
强烈建议用SDK请求接口。如果是用电子签提供的Demo进行调试,请确认下载的Demo是否正确,以java语言为例:
UploadFiles报错:业务错误,身份鉴权失败
常见原因是,指定的SecretId
和SecretKey
传入了正式/测试环境的密钥,而接口请求到了测试/正式环境。
为什么收不到回调消息?
如果配置了回调 Url地址,但是没有收到回调通知,您可在外网环境用下方curl命令,需确保 HttpCode
返回200:
# 需将https://tsign.tencent.com/callback 换成贵方配置的回调地址
curl https://tsign.tencent.com/callback -H \"Content-type: application/json\" -X POST -d \"{}\"
业务上线前需要注意什么?
联调完成上线时需要做以下工作:
- 更换API密钥;
- 配置新的回调地址;
- 更改请求域名
详细操作请参考:
集团架构下如何给不同子企业设置不同的回调地址
目前包括子企业在内,「专业版」以下版本不支持配置回调地址,但子企业的所有消息都会发到主企业配置的回调地址,建议业务方自行分发。
回调信息解密后是乱码
参考解密示例 ,确认传入的Key正确。
请确保正式环境和测试环境用了不同的回调地址。
报错“操作禁止”
常见错误是调用其他通用请求时用了文件上传接口的请求地址,请检查:
应用类型 | 环境 | 服务 | 地址 |
---|---|---|---|
自建/第三方 | 联调环境 | 文件服务(UploadFiles) | file.test.ess.tencent.cn |
自建/第三方 | 线上环境 | 文件服务(UploadFiles) | file.ess.tencent.cn |
自建应用 | 联调环境 | 其他通用服务 | ess.test.ess.tencent.cn |
自建应用 | 线上环境 | 其他通用服务 | ess.tencentcloudapi.com |
第三方应用 | 联调环境 | 其他通用服务 | essbasic.test.ess.tencent.cn |
第三方应用 | 线上环境 | 其他通用服务 | essbasic.tencentcloudapi.com |
报错“action not exist”
常见错误是调用UploadFiles
接口时使用了通用服务请求地址,请检查:
应用类型 | 环境 | 服务 | 地址 |
---|---|---|---|
自建/第三方 | 联调环境 | 文件服务(UploadFiles) | file.test.ess.tencent.cn |
自建/第三方 | 线上环境 | 文件服务(UploadFiles) | file.ess.tencent.cn |
自建应用 | 联调环境 | 其他通用服务 | ess.test.ess.tencent.cn |
自建应用 | 线上环境 | 其他通用服务 | ess.tencentcloudapi.com |
第三方应用 | 联调环境 | 其他通用服务 | essbasic.test.ess.tencent.cn |
第三方应用 | 线上环境 | 其他通用服务 | essbasic.tencentcloudapi.com |