# 获取上传凭证

通过本接口可以获取上传云函数签名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"
}