# 获取上传凭证
接口应在服务器端调用,详细说明参见服务端API。
# 接口说明
# 接口英文名
getYploadSignature
# 功能描述
通过本接口可以获取上传云函数签名header 。使用过程中如遇到问题,可在开放平台服务商专区发帖交流。
# 调用方式
# HTTPS 调用
POST https://api.weixin.qq.com/tcb/getuploadsignature?access_token=ACCESS_TOKEN
# 第三方调用
调用方式以及出入参和HTTPS相同,仅是调用的token不同
该接口所属的权限集id为:49、64
服务商获得其中之一权限集授权后,可通过使用authorizer_access_token代商家进行调用
# 请求参数
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
access_token | string | 是 | 接口调用凭证,该参数为 URL 参数,非 Body 参数。使用authorizer_access_token |
hashed_payload | string | 是 | 上传云函数POST数据的签名 |
# 返回参数
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
headers | string | 带签名headers |
# 其他说明
# hashed_payload 参数生成算法
hashed_payload是上传云函数请求POST数据的签名,具体参数参考上传云函数的请求参数。签名过程参考如下JavaScript代码片段:
const crypto = require('crypto')
let ZipFile = await fs.promises.readFile(filePath, 'base64')
let uploadBody = JSON.stringify({
'CodeSecret': 't44gXCQQdVCFcMWKrCsSwQ5uV94Op3HiqoZQ1H972pyMBfVgvnAeUGN2vm5Xx07\/'
'EnvId': 'test-env',
'FunctionName': 'funcName',
'Handler': 'index.main',
ZipFile
})
let hashed_payload = crypto.createHash('sha256').update(uploadBody).digest('hex').toLowerCase()
# 调用示例
示例说明: HTTPS请求
# 请求数据示例
{
"hashed_payload":"lowercase_sha256hex_payload"
}
# 返回数据示例
{
"errcode": 0,
"errmsg": "ok",
"headers": "Authorization:TC3-HMAC-SHA256 Credential=AKIDNS5S-8S5Y7dxxv8lOPYPqu7XqNM3XUTG6QUxv2B-zkIcRG0XziWdsvpzzzzzzz/2019-05-28/scf/tc3_request, SignedHeaders=content-type;host, Signature=096dad0a5a5563381458224f38c1b8f35c8e2d5a8451950e33e36fa856fe9cd2\r\nHost:scf.tencentcloudapi.com\r\nContent-Type:application/json\r\nX-TC-Action:UpdateFunctionCode\r\nX-TC-Timestamp:1559046811\r\nX-TC-Version:2018-04-16\r\nX-TC-Region:ap-shanghai\r\nX-TC-Token:TOKEN"
}
# 错误码
错误码 | 错误码取值 | 解决方案 |
---|---|---|
0 | ok | ok |
-1 | system error | 系统繁忙,此时请开发者稍候再试 |
-1000 | system error | 系统错误 |
40014 | invalid access_token | 不合法的 access_token ,请开发者认真比对 access_token 的有效性(如是否过期),或查看是否正在为恰当的公众号调用接口 |
40101 | missing parameter | 缺少必填参数 |
41001 | access_token missing | 缺少 access_token 参数 |
42001 | access_token expired | access_token 超时,请检查 access_token 的有效期,请参考基础支持 - 获取 access_token 中,对 access_token 的详细机制说明 |
43002 | require POST method | 需要 POST 请求 |