# 获取上传凭证
通过本接口可以获取上传云函数签名header 。使用过程中如遇到问题,可在开放平台服务商专区发帖交流。
# 请求地址
POST https://api.weixin.qq.com/tcb/getuploadsignature?access_token=ACCESS_TOKEN
# 请求参数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
access_token | String | 是 | 第三方平台接口调用令牌authorizer_access_token | |
hashed_payload | string | 是 | 上传云函数POST数据的签名 |
# 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()
# POST 数据示例
{
"hashed_payload":"lowercase_sha256hex_payload"
}
# 返回值
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
headers | string | 带签名headers |
errcode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
0 | 请求成功 | |
-1 | 系统错误 | |
-1000 | 系统错误 | |
40014 | AccessToken 不合法 | |
40101 | 缺少必填参数 | |
41001 | 缺少AccessToken | |
42001 | AccessToken过期 | |
43002 | HTTP METHOD 错误 | |
其他错误码 | 云开发错误码 |
# 示例代码
curl -d '{"hashed_payload": "abc123"}' \
'https://api.weixin.qq.com/tcb/getuploadsignature?access_token=ACCESS_TOKEN'
# 返回数据示例
{
"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"
}